Está en la página 1de 6

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.

es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez Puildo

Resumen de las instrucciones del 8086/8088


En este captulo se hace un resumen de las instrucciones del 8086/8088. Estas instrucciones se encuentran explicadas ms detalladamente en otro captulo. Se puede consultar ms en [PA01], [Rod00], [PCG00], [Ray00] y [Ter00].

Operaciones aritmticas y lgicas


Estas instrucciones son realizadas por la ALU de la mquina. Las podemos considerar agrupadas en varios tipos:

Operaciones puramente aritmticas


A este apartado pertenecen aquellas instrucciones que realizan operaciones aritmticas con los operandos, como suma, resta, etc. Alteran las banderas de estado.
Instruccin ADC ADD DEC DIV IDIV IMUL INC MUL NEG SBB SUB Funcin Sumar dos operandos y aadir el acarreo. Sumar dos operandos sin aadir el acarreo. Decrementa operando en 1. Divisin sin signo. Divisin considerando los signos de los operandos. Multiplicacin considerando los signos de los operandos. Incremeta el operando en 1. Multiplicacin sin considerar los signos. Cambiar el signo del operando. Resta aadiendo el acarreo. Resta sin acarreo.

Operaciones puramente lgicas


A este apartado pertenecen aquellas instrucciones que realizan operaciones a nivel de bit (operaciones de tipo lgica o de aritmtica binaria) con los operandos. Al igual que las anteriores, alteran las banderas de estado.
Instruccin AND NOT OR XOR Funcin Realiza un <Y> lgico. Realiza un <NO> lgico. Realiza una <O> lgica. Realiza una <O> exclusiva .

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez Puildo

Operaciones de manejo de bits


Pertenecen a este apartado aquellas instrucciones que realizan traslaciones (rotaciones) con los bits del operando. Al igual que las anteriores, alteran las banderas de estado.
Instruccin RCL RCR ROL ROR SAL/SHL SAR/SHR Funcin Rota a la izquierda a travs del acarreo. Rota a la derecha considerando el acarreo. Rotacin a la izquierda. Rotacin a la derecha. Desplazamiento a la izquierda. Desplazamiento hacia la derecha.

Operaciones de conversin
Realizan conversiones de los operandos para transformarlos en otro tipo de representacin numrica.
Instruccin AAA AAD AAM AAS CBW CWD DAA DAS Funcin Ajusta el valor ASCII de una suma. Ajuste del valor ASCII de una divisn. Ajuste del valor ASCII de una multiplicacin. Ajuste del valor ASCII de una resta. Convierte un byte en un word. Convierte un word en un double word. Ajuste decimal en una suma. Ajuste decimal en una resta.

Instrucciones de comparacin
Las instrucciones de comparacin permiten alterar las banderas de estado de la mquina y, con ello, tomar decisiones cambiando el flujo de un programa. Estas operaciones realizan internamente alguna operacin (por lo general la resta), pero no almacenan el resultado de esa operacin, sino que nicamente actualizan las banderas de estado. El 8086/8088 dispone de las siguientes instrucciones de comparacin:
Instruccin CMP CMPS TEST Funcin Comparar dos operandos y actualizar banderas. Comparar cadenas de un byte o de una palabra. Comparar dos operandos utilizando operacin AND.

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez Puildo

Instrucciones de salto
El 8086/8088 dispone de 36 instrucciones de salto que permiten controlar el flujo de ejecucin 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 condicin. Esta condicin se comprueba analizando las banderas de estado. Se utilizan combinadas con alguna instruccin que afecta el estado de las banderas, como las vistas en los apartados anteriores.
Instruccin JA JAE JB JBE JC JCXZ JE JG JGE JL JLE JNA JNAE JNB JNBE JNC JNE JNG JNGE JNL JNLE JNO JNS JNZ JO JP/JPE JNP/JPO JS JZ LOOP LOOPE/LOOPZ LOOPNZ LOOPNE Funcin Saltar si superior. Saltar si superior o igual. Saltar si inferior . Saltar si iferior o igual. Saltar si hay acarreo . Saltar si cx es cero. Saltar si igual. Saltar si mayor, considerando signos. Saltar si mayor o igual, considerando signos. Saltar si menor, considerando signos. Saltar si menor o igual, considerando signos. Saltar si no superior. Saltar si no superior o igual. Saltar si no inferior. Saltar si no inferior o igual. Saltar si no hay acarreo. Saltar si no igual. Saltar si no mayor (con signo). Saltar si no mayor o igual (con signo). Saltar si no menor (con signo). Saltar si no menor o igual (con signo). Saltar si no hay overflow (considerando signos). Saltar si positivo. Saltar si no es cero. Saltar si hay overflow (con signo). Saltar si par. Saltar si impar. Saltar si negativo (signo activado). Saltar si es cero. Saltar hasta que CX sea 0. Saltar hasta que el resultado de la ltima operacin sea igual a cero. Saltar hasta que el resultado de ltima operacin sea distinta de cero. Saltar hasta que ltima comparacin sea distinto.

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez 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 condicin.
Instruccin CALL JMP RET Funcin Llamada a funcin, con retorno. Salto incondicional (saltar siempre). Retorno incondicional de un procedimiento.

Instrucciones de manejo de interrupciones


Estas instrucciones permiten activar interrupciones o acceder a servicios del sistema o de la ROM-BIOS.
Instruccin INT INTO IRET Funcin Genera una interrupcin. Genera una interrupcin si desbordamiento. Retorno de interrupcin.

Instrucciones de transferencia de informacin


Estas instrucciones se pueden clasificar en varios grupos:

Transferencia usando registros y/o memoria


Realizan movimientos de datos desde un registro a memoria (o viceversa) y desde un registro hacia otro registro, con la salvedad de que no se pueden hacer transferencias de memoria a memoria. Son las siguientes:
Instruccin LAHF LDS LEA LES MOV POP POPF PUSH PUSHF SAHF XCHG XLAT Funcin Cargar las banderas en AH. Carga un puntero en DS. Carga direccin efectiva. Carga un puntero en ES. Mover un dato. Extraer dato de la pila. Extraer dato de la pila y almacenarlo en registro de banderas. Almacenar dato en la pila. Almacenar registro de banderas en la pila. Almacena el contenido de AH en el registro de banderas. Intercambiar valores de los operandos. Traducir posicin.

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez Puildo

Transferencia usando puertos de E/S


Permiten la comunicacin del procesador con otros elementos del bus (como controladoras y coprocesadores), y con los perifricos conectados al sistema (como impresoras, ratn, etc.). Unicamente son cuatro, aunque las dos ltimas son especializaciones de las dos primeras:
Instruccin IN OUT ESC WAIT Funcin Entrada de byte o palabra desde un puerto de E/S. Salida de byte o palabra a un puerto de E/S. Enviar informacin al coprocesador. 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:
Instruccin LODS MOVS REP REPE REPNE REPNZ REPZ SCAS STOS Funcin Carga una cadena. Mueve cadena de datos. Repetir operacin de manejo de cadenas. Repetir operacin de manejo de cadenas miestras igual. Repetir operacin de manejo de cadenas miestras no igual. Repetir operacin de manejo de cadenas miestras no cero. Repetir operacin de manejo de cadenas miestras cero. Explora cadena de datos. Almacena cadena de datos.

Instrucciones de control del microprocesador


En este apartado se encuentran aquellas instrucciones que alteran el contenido del registro de banderas, o que afectan al funcionamiento bsico del procesador. Se pueden clasificar, por tanto, en dos grupos:

Operaciones con las banderas


Alteran el contenido de las banderas.

Grupo de Arquitectura de Computadores y Diseo Lgico. UEX, 1997. http://atc.unex.es/gacdl Resumen de las instrucciones del 8086/8088 Germn Galeano Gil. Juan A. Gmez Puildo

Instruccin CLC CLD CLI CMC STC STD STI

Funcin Pone a 0 la bandera de acarreo. Pone a 0 la bandera de direccin. Pone a 0 la bandera de interrupcin. Complementa la bandera de acarreo. Pone la bandera de acarreo a 1. Pone la bandera de direccin a 1. Pone la bandera de interrupcin a 1.

Operaciones con el procesador y el bus


Son instrucciones utilizadas para comunicar la CPU con el bus y con otros procesadores.
Instruccin HLT LOCK NOP Funcin Detienen el procesador. Bloquea el bus de datos. Operacin sin contenido (slo consume tiempo).

También podría gustarte