todo
http://atc.unex.es/gacdl
Repertorio de instrucciones del 8086/8088
Germán Galeano Gil. Juan A. Gómez Puildo
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(Ascii Adjust 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 – AjusteASCII en divisió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 – AjusteASCII en multiplicació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 forSubtraction)
Uso:
AAS
Flags que modifica: 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 WithCarry)
Uso:
ADC
dest,src
Flags que modifica: 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 eloperando destino. Los operandos deben ser del
mismo 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
Flagsque 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 delínea, salvando previamente en la pila la dirección de
la instrucción siguiente, 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 pilael
segmento y segundo el desplazamiento de la instrucción siguiente, en ese 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...
Regístrate para leer el documento completo.