miércoles, 26 de septiembre de 2012

CONJUNTO DE INSTRUCCIONES, CARACTERÍSTICAS Y FUNCIONES DE LA ARQUITECTURA 80/86

En este blog se hace un resumen de las instrucciones de la arquitectura 8086...


Operaciones aritméticas y lógicas

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

Operaciones puramente aritméticas

A este apartado pertenecen aquellas instrucciones que realizan operaciones aritméticas con los operandos, como suma, resta, etc. Alteran las banderas de estado.

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.











Operaciones puramente lógicas

A este apartado pertenecen aquellas instrucciones que realizan operaciones a nivel de bit (operaciones de tipo lógica o de aritmética binaria) con los operandos. Al igual que las anteriores, alteran las banderas de estado.

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 .





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.

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.
El 8086 dispone de las siguientes instrucciones de comparación:

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.


No hay comentarios:

Publicar un comentario