Microprocesador - Modos de direccionamiento 8086
Las diferentes formas en que se denota un operando fuente en una instrucción se conocen como addressing modes. Hay 8 modos de direccionamiento diferentes en la programación del 8086:
Modo de direccionamiento inmediato
El modo de direccionamiento en el que el operando de datos es parte de la propia instrucción se conoce como modo de direccionamiento inmediato.
Ejemplo
MOV CX, 4929 H, ADD AX, 2387 H, MOV AL, FFH
Registrar modo de direccionamiento
Significa que el registro es la fuente de un operando para una instrucción.
Ejemplo
MOV CX, AX ; copies the contents of the 16-bit AX register into
; the 16-bit CX register),
ADD BX, AX
Modo de direccionamiento directo
El modo de direccionamiento en el que la dirección efectiva de la ubicación de la memoria se escribe directamente en la instrucción.
Ejemplo
MOV AX, [1592H], MOV AL, [0300H]
Registrar modo de direccionamiento indirecto
Este modo de direccionamiento permite que los datos se direccionen en cualquier ubicación de la memoria a través de una dirección de compensación contenida en cualquiera de los siguientes registros: BP, BX, DI y SI.
Ejemplo
MOV AX, [BX] ; Suppose the register BX contains 4895H, then the contents
; 4895H are moved to AX
ADD CX, {BX}
Modo de direccionamiento basado
En este modo de direccionamiento, la dirección de desplazamiento del operando viene dada por la suma del contenido de los registros BX / BP y el desplazamiento de 8 bits / 16 bits.
Ejemplo
MOV DX, [BX+04], ADD CL, [BX+08]
Modo de direccionamiento indexado
En este modo de direccionamiento, la dirección de desplazamiento de los operandos se encuentra sumando el contenido del registro SI o DI y los desplazamientos de 8 bits / 16 bits.
Ejemplo
MOV BX, [SI+16], ADD AL, [DI+16]
Modo de direccionamiento de índice basado
En este modo de direccionamiento, la dirección de desplazamiento del operando se calcula sumando el registro base al contenido de un registro de índice.
Ejemplo
ADD CX, [AX+SI], MOV AX, [AX+DI]
Basado indexado con modo de desplazamiento
En este modo de direccionamiento, el desplazamiento de los operandos se calcula sumando el contenido del registro base. Un índice registra contenido y desplazamiento de 8 o 16 bits.
Ejemplo
MOV AX, [BX+DI+08], ADD CX, [BX+SI+16]