Está en la página 1de 5

Taller Capitulo 10

Repertorio de Instrucciones: Características y funciones


Joan Sebastian Betancourt Arias
1744202

1. Preguntas de repaso del capítulo:


a. Los elementos esenciales de una instrucción de computador son el opcode,
que especifica la operación a realizar, la referencia a los operadores origen y
destino, que especifican las ubicaciones de la entrada y la salida y una
referencia a la siguiente instrucción, que usualmente está implícita.
b. Registros y memoria
c. Dos operandos, un resultado y la dirección de la siguiente instrucción.
d. Repertorio de operaciones: Cuantas y cuales operaciones se proveen, y que
tan complejas serán.
Tipos de dato: Se debe tener en cuenta los tipos de datos sobre los cuales se
van a realizar las operaciones.
Formato de las instrucciones: Cantidad de bit de la instrucción, tamaño de las
entradas, número de direcciones …
Registros: Cuantos y cuales registros pueden ser referenciados en las
instrucciones, y cómo lo van a usar.
Direccionamiento: Los posibles modos como las direcciones van a ser
especificadas en los operandos.
e. Direcciones, números, caracteres y datos lógicos.
f. En el patrón 011xxxx de IRA, los digitos 0 a 9 son representados por sus
equivalentes binarios, de 0001 a 1001, en los últimos 4 bits de la derecha.
Este es mismo código en packed decimal.
g. En el shift lógico, los bits se corren, el bit que queda afuera se pierde y el bit
libre del otro lado se rellena con un 0. Un shift aritmético trata la palabra
como un entero con signo y cuida el primer bit, por lo que en un shift a hacia
la izquierda se ejecuta un shift lógico sobre todos los bits menos el primero, y
en un shift a la derecha, el bit para llenar el espacio libre es igual al bit de
signo.
h. Porque la estructura natural del código escrito requiere diferentes saltos,
como repetición de código (loops), ejecutar unas instrucciones u otras
dependiendo del contexto (estructuras de decisión) o modularizar las
instrucciones en piezas que sean más sencillas para trabajar.
i. Algunas máquinas proveen un código de condición de uno o varios bits para
que sea el resultado de algunas operaciones. También se puede usar una
instrucción de tres campos que haga una comparación e indique la
consecuencia en la misma instrucción.
j. Así se le llama a encontrar un llamado de procedimiento dentro de otra
procedimiento.
k. Un registro, la cabeza del procedimiento, o el en stack.
l. Un procedimiento reentrante puede ser llamado varias veces al mismo
tiempo.
m. Es una notación donde el operador va primero y luego le siguen sus
operandos.
n. Si un valor que ocupa múltiples bytes tiene su byte más significativo en la
menor dirección, está en big-endian. Si el byte más significativo está en la
dirección más alta, está en little-endian.
2. Problemas del libro
10.1 a) 23 b) 32 33
10.2 a) 7309 b) 582 c) 1010 no es un packed decimal válido, entonces hay un error.
10.3 a) 0;255 b) -127;127 c) -127;127 d) -128;127 e) 0;99 f) -9;+9
10.4 Se realizará la suma cada cuatro bits. Si el resultado es mayor que 1001, se le
suma 6 (9+6=15 que es número más grande representable en 4 cuatro bits, por lo
que sumarselo a un número mayor a 9 desborda) para corregir el error.

10.5 Pasar un número a complemento a 10 consta de restarle a cada dígito 9, y


añadirle 1 al resultado. Para restar, solo es necesario añadir los dos números en
complemento a 10:

10.12 La instrucción DAA se puede usar después de ADD para permitir que la suma
de dos palabras de 8 bits que contienen packed decimals sea válida. Si hay acarreo
al final, el resultado queda mayor a 9 o activando la bandera AF. Si eso sucede, se
le suma 6 para corregir el resultado.
10.15 a) Puede ser conveniente que Scond tenga un resultado del tamaño de una
palabra para que sea consistente con el paso de parámetros típico.
b) La ventaja de configurar las banderas es que, en general, las instrucciones
establecen los códigos de condición de acuerdo al resultado de la operación, por lo
que el código de condición debe reflejar el estado de la máquina después de las
ejecuciones. Estas instrucciones no siguen tal principio y violan en diseño general.
La desventaja es que estas instrucciones son similares a la ramificación por
condicional ya que operan sobre el resultado de otra operación, que se ve reflejado
en los códigos de condición. Como la ramificación por condicional no afecta los
códigos de condición, el hecho de que estas instrucciones tampoco lo hagan no es
inconsistente.
c) SUB CX,CX
MOV AX,B
CMP AX, A
SETGT CX
TEST JCXZ OUT
THEN
OUT
d) MOV EAX, B
CMP EAX, C
SETG BL
MOV EAX, D
CMP EAX, F
MOV BH, 0
SETE BH
OR BL, BH

10.17 Si el procesador usa el stack para manejar subrutinas, solamente utiliza el


stack cuando ejecuta las instrucciones CALL y RETURN. No es necesario hacer
llamados explícitos de instrucciones del stack.
10.24

Creo que el propósito de la pregunta es comparar enteros de media palabra, palabra


entera y dobles como miembros de una struct en little-Endian y big-Endian.
3. 0 Direcciones: 1 dirección: 2 Direcciones:
PUSH A LOAD F MUL E F
PUSH B MUL E SUB D E
PUSH C STORE X MUL B C
MUL LOAD D SUM A B
ADD SUB X SUB A D
PUSH D STORE X MOVE X A
PUSH E LOAD B 3 direcciones:
PUSH F MUL C MUL Y E F
MUL ADD A SUB Y D Y
SUB DIV X MUL Z B C
DIV STORE X ADD W A Z
POP X DIV X W Y
4. Big Endian:

Byte
Address

00 M O R E _ C O F

08 E E AA BB CC DD

10 11 22 33 44

18 55 66 a1 b2 c3 d4

20 C A F E

Little Endian:

Byte
Address

00 F O C _ E R O M

08 DD CC BB AA E E

10 44 33 22 11

18 d4 c3 b2 a1 55 66

54 E F A C

5. 1. V Elementos esenciales de las instrucciones de los computadores son: el código


de operación, referencias a operandos fuente y destino y la referencia a siguiente
instrucción que usualmente está implícita.
2. F Los códigos de operación especifican las operaciones dentro de las siguientes
categorías generales: operaciones aritméticas y lógicas, transferencia de datos entre
registros, entre registros y memoria, entre dos posiciones de memoria;
entrada/salida (E/S); y control. ​Control no
3. V Los tipos de instrucciones se pueden clasificar de la siguiente manera:
aritméticas y lógicas, de transferencia de datos; de entrada/salida (E/S) y de control.
4. V En una instrucción, las referencias a operandos especifican registros o
posiciones de memoria de operandos.
5. F Un elemento imprescindible de las instrucciones en su formato de instrucción es
la dirección de la próxima instrucción a ejecutarse.​ Puede estar implícito
6. V En una instrucción, los operandos origen y destino pueden estar referenciados
en la memoria caché.
7. V Los datos pueden ser de diversos tipos: direcciones, números, caracteres o
datos lógicos.
8. F Una característica arquitectural común de los procesadores es la utilización de
una pila, la cual siempre es visible al programador. ​No siempre es visible al
programador
9. F Las pilas normalmente se implementan de manera que crecen de direcciones
más bajas hacia direcciones más altas. ​Al revés
10. V Los procesadores pueden clasificarse como big-endian, little-endian y
bi-endian.
11.V El concepto de los endians surge cuando es necesario tratar una entidad
multibyte como un único dato con una sola dirección, aún cuando esté compuesto de
unidades direccionables más pequeñas.
12. F El tipo little endian se caracteriza porque las cadenas de caracteres y los
enteros se almacenan en un orden coherente.​ 12 y 13 trocadas
13. F El tipo big endian se caracteriza porque las operaciones aritméticas de alta
precisión son más fáciles de realizar. ​12 y 13 trocadas
14. F Una instrucción de salto implícito requiere siempre de un campo de dirección
de destino. ​Es implícito
15. V Una instrucción de salto explícito tiene como uno de sus operandos la
dirección de la siguiente instrucción a ejecutar.
16. F Usar, ya sea el inicio de un procedimiento o un registro para guardar una
dirección de retorno, facilita el uso de procedimientos reentrantes. ​Dificulta
17. F La utilización de la cabecera de la pila para guardar direcciones de retorno,
dificulta la ejecución de procedimientos reentrantes. ​Facilita

También podría gustarte