Instrucciones Aritmetico Logicas
1. Instrucciones de suma
1.1 Enumeración y descripción
ADD (sumar) ; al ← al + bl
(s) add {R|M}, {R|M|I} (e) add al, bl INC (s) inc (e) inc
(incrementar) {R|M} eax ; eax ← eax + 1
1.2 Las instrucciones de suma y el registro de estado: ejemplos
A continuación se muestran ejemplos de cómo se modifican los bits del registro de estado después de ejecutaralgunas instrucciones de suma. A la derecha de cada instrucción se muestran en negrita los valores de los operandos a los que accede las instrucción; y a la derecha de los operandos, se muestra cómo se modifican los bits del registro de estado después de ejecutar cada instrucción. eax add add al, bl 30AB39F7 eax, ebx 30AB39F7 ebx 512A4709 512A4709 O 0 1 C 1 0 S 0 1 Z 1 0
2. Instrucciones dediferencia
2.1 Enumeración y descripción
SUB (restar) ; eax ← eax - ebx
(s) sub {R|M}, {R|M|I} (e) sub eax, ebx
Area de Arquitectura y Tecnología de Computadores
Departamento de Informática de la Universidad de Oviedo
ASIGNATURA DE : ARQUITECTURA DE COMPUTADORES
1
DEC
(decrementar) ; eax ← eax - 1
(s) dec {R|M} (e) dec eax NEG
(negar = cambiar de signo = hacer complementoa 2) ; al ← -al
(s) neg {R|M} (e) neg al
2.2 Las instrucciones de diferencia y el registro de estado: ejemplos
eax sub sub sub al, bl al, bl 1AB12309 00000070 eax, ebx 1AB12309 ebx 21B43409 21B43409 000023B0 O 0 0 1 C 0 1 1 S 0 1 1 Z 1 0 0
3. Instrucciones lógicas
Las instrucciones lógicas realizan operaciones lógicas bit a bit con sus operandos.
3.1 Enumeración y descripción
AND(producto lógico) ; al ← al AND bl
(s) and {R|M}, {R|M|I} (e) and al, bl OR (s) or (e) or XOR (s) xor (e) xor
(suma lógica) {R|M}, {R|M|I} al, bl ; al ← al OR bl
(O-exclusiva) {R|M}, {R|M|I} al, bl ; al ← al XOR bl
Area de Arquitectura y Tecnología de Computadores
Departamento de Informática de la Universidad de Oviedo
ASIGNATURA DE : ARQUITECTURA DE COMPUTADORES
2
NOT (s) not(e) not
(negación lógica) {R|M} al ; al ← al
3.2 Las instrucciones lógicas y el registro de estado
Las instrucciones lógicas de dos operandos (and, or y xor) ponen siempre a ‘0’ los bits CF y OF de registro de estado después de ejecutarse (debe tenerse en cuenta que el estado de estos bits sólo tiene significado tras la ejecución de las instrucciones aritméticas). Los bits SF y ZF semodifican siguiendo los mismos criterios que en las instrucciones aritméticas. La instrucción lógica de un operando (not) no modifica ningún bit del registro de estado tras su ejecución.
3.3 Ejemplos de ejecución de instrucciones lógicas
En la tabla mostrada a continuación se proporcionan ejemplos de ejecución de todas las instrucciones lógicas. A la derecha de cada instrucción se muestran losvalores de los operandos sobre los que dichas instrucciones actúan y, después de la barra de separación sombreada en gris, se muestran los resultados obtenidos tras ejecutar las instrucciones y el valor alcanzado por los bits del registro de estado. al and or xor not al, bl al, bl al, bl al C5 C5 C5 C5 bl 30 30 30 al 00 05 F5 3A SF 0 0 1 ZF 1 0 0
4. Instrucciones de desplazamiento
Lasinstrucciones de desplazamiento son cuatro: shl, shr, sar y sal; y su objetivo es desplazar los bits de un operando un determinado número de posiciones a la izquierda o a la derecha. La estructura de los operandos manejados por estas instrucciones y su significado es idéntico para las cuatro instrucciones. Todas ellas trabajan sobre un operando fuente y un operando destino. • El operando destino contiene eldato que va a ser objeto del desplazamiento y debe ser del tipo, registro o memoria.
Area de Arquitectura y Tecnología de Computadores
Departamento de Informática de la Universidad de Oviedo
ASIGNATURA DE : ARQUITECTURA DE COMPUTADORES
3
•
El operando fuente determina la cantidad de posiciones que va a ser desplazado el operando destino. El operando fuente sólo puede ser un dato...
Regístrate para leer el documento completo.