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]