Procesador 8086
Repertorio de Instrucciones del 8086/8088
A continuación se desribe el repertorio de instrucciones del 8086/8088. Estas instrucciones se encuentran más detalladas en [Rod00] y [PCG00].
AAA – Ajuste ASCII en suma (AsciiAdjust for Addition)
Uso: AAA
Flags que modifica: AF CF (OF,PF,SF,ZF indefinidos) Descripción: Corrige el resultado en AL de una suma de dos números decimales desempaquetados, convitiéndolo en un valor decimal desempaquetado. La operación que realiza es la siguiente:
Si bits 3 a 0 de AL > 9 ó AF = 1 AL = AL + 6 AH = AH + 1 AF = 1, CF = AF Bits 7 a 4 de AL = 0000b
AAD – Ajuste ASCII endivisión (Ascii Adjust for Division)
Uso: AAD
Flags que modifica: SF ZF PF (AF,CF,OF indefinidos) Descripción: Realiza un ajuste del dividendo en AL antes de hacer la divsión de dos números decimales desempaquetados, para que el resultado de esta división (cociente) sea un valor decimal desempaquetado. La lógica que usa es la siguiente:
AL := 10*AH+AL AH := 0
AAM – Ajuste ASCII enmultiplicación (Ascii Adjust for Multiplication)
Uso: AAM
Flags que modifica: PF SF ZF (AF,CF,OF indefinidos) Descripción: Corrige el resultado en AX del producto de dos números decimales desempaquetados, convirtiéndolo en un valor decimal desempaquetado. La lógica que emplea es la siguiente:
AH := AL / 10 AL := AL mod 10
AAS –Ajuste ASCII en resta (Ascii Adjust for Subtraction)
Uso: AAS
Flags quemodifica: AF CF (OF,PF,SF,ZF indefinidos) Descripción: Corrige el resultado en AL de la resta de dos números decimales desempaquetados, convirtiéndolos en un valor decimal desempaquetado. La lógica que emplea es la siguiente:
Si bits 3 a 0 de AL > 9 ó AF = 1 AL = AL –6 AH = AH –1 AF = 1, CF = AF Bits 7 a 4 de AL = 0000b
ADC – Sumar con acarreo (Add With Carry)
Uso: ADC dest,src
Flags quemodifica: AF CF OF SF PF ZF
1
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl Repertorio de instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Descripción: Suma los dos operandos. Además, añade 1 a la suma si está activada la bandera de accarreo (CF). El resultado se almacena en el operando destino. Los operandos deben ser delmismo tipo (byte o palabra).
ADD – Suma aritmética (Arithmetic Addition)
Uso: ADD dest,src
Flags que modifica: AF CF OF PF SF ZF Descripción: Suma los dos operandos. El resultado se almacena en el operando destino. Los operandos deben ser del mismo tipo (byte o palabra).
AND – Y lógico (Logical And)
Uso: AND dest,src
Flags que modifica: CF OF PF SF ZF (AF indefinidos) Descripción:Operación “y lógica” a nivel de bit entre los dos operandos. El resultado se almacena en el operando destino. Los operandos deben ser del mismo tipo (byte o palabra).
CALL – Llamada a una función o procedimiento (Procedure Call)
Uso: CALL destination
Flags que modifica: Ninguno Descripción: Bifurca a un procedimiento fuera de línea, salvando previamente en la pila la dirección de la instrucciónsiguiente, para poder volver a esta instrucción una vez ejecutado el procedimiento. El procedimiento llamado puede estar: dentro del mismo segmento (llamada NEAR). En este caso, se almacena en la pila el desplazamiento de la instrucción siguiente. en otro segmento (llamada FAR). En este caso, se almacena primero en la pila el segmento y segundo el desplazamiento de la instrucción siguiente, enese orden. La llamada puede ser, a su vez: Directa, es decir, a etiquetas relativas a CS, no a variables. Se supone siempre NEAR, a menos que se especifique FAR en la declaración de destino. Indirecta, es decir, a variables, pudiendo especificarse WORD PTRT ó D WORD PTR para llamadas NEAR o FAR, respectivamente. Si se especifica una variable tipo WORD, el contenido de esa palabra es la nueva...
Regístrate para leer el documento completo.