8086
8086
8086
REGISTROS
Hay cuatro registros de uso general: AX, BX, CX y DX. stos son registros de 16
bits pero puede dividirse a cada uno en dos registros de 8 bits. AX, por ejemplo, se
divide en AH que contiene el byte superior (High) y en AL que contiene el byte inferior
(Low). Cada registro de 8 bits se puede usar separadamente.
REGISTROS NDICE
REGISTROS DE PILA
Los registros de pila son: BP (Base Pointer o Puntero Base) y SP (Stack Pointer
o Puntero de Pila) y se utilizan como punteros a la zona de memoria que ocupa la pila.
REGISTROS DE SEGMENTO
Por ejemplo:
0040h:0001h equivale a la direccin 00401h (0040h*10h+0001h)
1000h:0050h equivale a la direccin 10050h (0100h*10h+0050h)
(*) En las instrucciones de manejo de cadenas, los datos de origen se seleccionan con DS:SI y los datos
de destino, con ES:DI
REGISTRO DE BANDERAS
LA PILA
.MODEL SMALL
.STACK
.DATA
; Aqu se colocan los datos
.CODE
Etiqueta:
; Aqu se colocan las instrucciones
END Etiqueta
Dicha secuencia de directivas indican al programa Ensamblador:
- El tipo de programa generado. Los programas SMALL (pequeos) se definen
como programas que contienen un mximo de 64K de cdigo y hasta 64K de
datos.
- La declaracin del segmento de pila (stack), que es un rea de memoria de
reserva para construir la pila del procesador. Por defecto, la cantidad de
memoria reservada para sta es de 1024 Bytes (1K).
- El segmento de datos (data), donde deben colocarse las variables y los datos
que se usan en el programa.
- El segmento de cdigo (code), que contiene las instrucciones del programa.
- El fin del programa, junto con una etiqueta que identifique el punto de
comienzo del mismo.
Las instrucciones utilizadas para guardar y retirar datos de la pila son dos: PUSH
y POP.
PUSH
Colocar palabra en la pila (PUSH WORD ONTO STACK)
POP
Sacar palabra de la pila (POP WORD OFF STACK TO DESTINATION)
PUSHF
Colocar Banderas en la pila (PUSH FLAGS ONTO STACK)
POPF
Sacar Banderas de la pila (POP FLAGS OFF STACK)
MOV
Mover (MOVE)
MODOS DE DIRECCIONAMIENTO
Los operandos de las instrucciones del 8086 pueden ser de siete tipos distintos. Cada
uno corresponde a un determinado modo de direccionamiento. Los modos de
direccionamiento son: