Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instrucciones 8086 PDF
Instrucciones 8086 PDF
es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Instrucción Función
ADC Sumar dos operandos y añadir el acarreo.
ADD Sumar dos operandos sin añadir el acarreo.
DEC Decrementa operando en 1.
DIV División sin signo.
IDIV División considerando los signos de los operandos.
IMUL Multiplicación considerando los signos de los operandos.
INC Incremeta el operando en 1.
MUL Multiplicación sin considerar los signos.
NEG Cambiar el signo del operando.
SBB Resta añadiendo el acarreo.
SUB Resta sin acarreo.
Instrucción Función
AND Realiza un <Y> lógico.
NOT Realiza un <NO> lógico.
OR Realiza una <O> lógica.
XOR Realiza una <O> exclusiva .
1
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Instrucción Función
RCL Rota a la izquierda a través del acarreo.
RCR Rota a la derecha considerando el acarreo.
ROL Rotación a la izquierda.
ROR Rotación a la derecha.
SAL/SHL Desplazamiento a la izquierda.
SAR/SHR Desplazamiento hacia la derecha.
Operaciones de conversión
Realizan conversiones de los operandos para transformarlos en otro tipo de
representación numérica.
Instrucción Función
AAA Ajusta el valor ASCII de una suma.
AAD Ajuste del valor ASCII de una divisón.
AAM Ajuste del valor ASCII de una multiplicación.
AAS Ajuste del valor ASCII de una resta.
CBW Convierte un byte en un word.
CWD Convierte un word en un double word.
DAA Ajuste decimal en una suma.
DAS Ajuste decimal en una resta.
Instrucciones de comparación
Las instrucciones de comparación permiten alterar las banderas de estado de la máquina
y, con ello, tomar decisiones cambiando el flujo de un programa. Estas operaciones realizan
internamente alguna operación (por lo general la resta), pero no almacenan el resultado de esa
operación, sino que únicamente actualizan las banderas de estado.
Instrucción Función
CMP Comparar dos operandos y actualizar banderas.
CMPS Comparar cadenas de un byte o de una palabra.
TEST Comparar dos operandos utilizando operación AND.
2
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Instrucciones de salto
El 8086/8088 dispone de 36 instrucciones de salto que permiten controlar el flujo de
ejecución de un programa. Se pueden clasificar en dos tipos: instrucciones de salto
condicional e instrucciones de salto incondicional.
Salto condicional
Realizan el salto si se cumple una determinada condición. Esta condición se comprueba
analizando las banderas de estado. Se utilizan combinadas con alguna instrucción que afecta
el estado de las banderas, como las vistas en los apartados anteriores.
Instrucción Función
JA Saltar si superior.
JAE Saltar si superior o igual.
JB Saltar si inferior .
JBE Saltar si iferior o igual.
JC Saltar si hay acarreo .
JCXZ Saltar si cx es cero.
JE Saltar si igual.
JG Saltar si mayor, considerando signos.
JGE Saltar si mayor o igual, considerando signos.
JL Saltar si menor, considerando signos.
JLE Saltar si menor o igual, considerando signos.
JNA Saltar si no superior.
JNAE Saltar si no superior o igual.
JNB Saltar si no inferior.
JNBE Saltar si no inferior o igual.
JNC Saltar si no hay acarreo.
JNE Saltar si no igual.
JNG Saltar si no mayor (con signo).
JNGE Saltar si no mayor o igual (con signo).
JNL Saltar si no menor (con signo).
JNLE Saltar si no menor o igual (con signo).
JNO Saltar si no hay overflow (considerando signos).
JNS Saltar si positivo.
JNZ Saltar si no es cero.
JO Saltar si hay overflow (con signo).
JP/JPE Saltar si par.
JNP/JPO Saltar si impar.
JS Saltar si negativo (signo activado).
JZ Saltar si es cero.
LOOP Saltar hasta que CX sea 0.
LOOPE/LOOPZ Saltar hasta que el resultado de la última operación sea igual a cero.
LOOPNZ Saltar hasta que el resultado de última operación sea distinta de cero.
LOOPNE Saltar hasta que última comparación sea “distinto”.
3
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Salto Incondicional
Este tipo de instrucciones de salto se diferencian del anterior en que el salto se realiza
siempre, es decir, sin comprobar ninguna condición.
Instrucción Función
CALL Llamada a función, con retorno.
JMP Salto incondicional (saltar siempre).
RET Retorno incondicional de un procedimiento.
Instrucción Función
INT Genera una interrupción.
INTO Genera una interrupción si desbordamiento.
IRET Retorno de interrupción.
Instrucción Función
LAHF Cargar las banderas en AH.
LDS Carga un puntero en DS.
LEA Carga dirección efectiva.
LES Carga un puntero en ES.
MOV Mover un dato.
POP Extraer dato de la pila.
POPF Extraer dato de la pila y almacenarlo en registro de banderas.
PUSH Almacenar dato en la pila.
PUSHF Almacenar registro de banderas en la pila.
SAHF Almacena el contenido de AH en el registro de banderas.
XCHG Intercambiar valores de los operandos.
XLAT Traducir posición.
4
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Instrucción Función
IN Entrada de byte o palabra desde un puerto de E/S.
OUT Salida de byte o palabra a un puerto de E/S.
ESC Enviar información al coprocesador.
WAIT Espera a un coprocesador.
Transferencias “especiales”
A este apartado pertenecen aquellas instrucciones que realizan transferencias de datos de
forma repetitiva y/o utilizando registros de direccionamiento, como el DI y el SI. Son las
siguientes:
Instrucción Función
LODS Carga una cadena.
MOVS Mueve cadena de datos.
REP Repetir operación de manejo de cadenas.
REPE Repetir operación de manejo de cadenas miestras igual.
REPNE Repetir operación de manejo de cadenas miestras no igual.
REPNZ Repetir operación de manejo de cadenas miestras no cero.
REPZ Repetir operación de manejo de cadenas miestras cero.
SCAS Explora cadena de datos.
STOS Almacena cadena de datos.
5
Grupo de Arquitectura de Computadores y Diseño Lógico. UEX, 1997. http://atc.unex.es/gacdl
Resumen de las instrucciones del 8086/8088 Germán Galeano Gil. Juan A. Gómez Puildo
Instrucción Función
CLC Pone a 0 la bandera de acarreo.
CLD Pone a 0 la bandera de dirección.
CLI Pone a 0 la bandera de interrupción.
CMC Complementa la bandera de acarreo.
STC Pone la bandera de acarreo a 1.
STD Pone la bandera de dirección a 1.
STI Pone la bandera de interrupción a 1.
Instrucción Función
HLT Detienen el procesador.
LOCK Bloquea el bus de datos.
NOP Operación sin contenido (sólo consume tiempo).