Modos de direccionamiento
Por Isaí Adalberto Martínez Mijares
Lenguajes de Interfaz
INMEDIATO
El dato a cargar en el operando
destino es una constante. El
usuario especifica un byte o
palabra como operando fuente.
Esta constante se ensambla como
parte de la instrucción.
Por ejemplo:
MOV AX,18;
Coloca el num. 18 en el reg. AX.
DE REGISTRO
El dato a cargar en el operando El
dato a cargar en el operando
destino se obtiene de un registro.
Ejemplo :
MOV AX, BX
Es un ejemplo de direccionamiento
de registro en donde la unidad de
ejecución (EU) toma el operando
del registro BX, determina como
destino el registro AX y ordena a la
ALU llevar a cabo la operación.
DIRECTO
El dato a cargar en el operando destino
esta guardado en una variable
(Etiqueta). En este direccionamiento la
dirección efectiva (EA), para una
localidad de memoria, esta contenida
en la instrucción. Para obtener la
dirección de 20 bits, se suman el
desplazamiento que tiene la etiqueta y
el contenido del registro DS. La
siguiente instrucción es un ejemplo de
este tipo de direccionamiento.
MOV AX, VAR1
Donde previamente se definió en el
segmento de datos a VAR1
VAR1 DB 20H
DE REGISTRO INDIRECTO
El dato a cargar en el operando destino
esta guardado en una variable
(Normalmente un arreglo) y se carga al
operando destino indirectamente a través
de uno de los siguientes registros: BX, BP,
SI o DI. Para evitar confundir este modo
de direccionamiento con el de registro, en la
instrucción, los registros deben aparecer
entre paréntesis rectangulares. Como la EA
es una dirección y no el contenido de una
localidad de memoria, antes de utilizar los
registros mencionados, estos deben contener
direcciones. Una técnica para asegurar lo
anterior es utilizar el operador OFFSET.
MOV BX, OFFSET ARREGLO
Este modo de direccionamiento se puede
usar para colocar el contenido de la
localidad de memoria a la que apunta BX,
por ejemplo en AX.
MOV AX, [ BX ]
Donde [BX] es un desplazamiento relativo
a DS ( DS:[ BX ] )
RELATIVO A LA BASE
Al hacer uso de este modo de
direccionamiento, la EA del
operando fuente se obtiene al
sumar un desplazamiento a los
siguientes registros: BP o BX. En
este caso, los registros deben
contener la dirección del
desplazamiento. Un ejemplo del
uso de este tipo de
direccionamiento lo ofrece la
siguiente instrucción:
MOV AX, [ BX+2 ]
INDEXADO DIRECTO
En este modo, la (EA) es la suma del
contenido de un registro índice (SI o DI)
y un desplazamiento. Un ejemplo
común lo construye una secuencia de
instrucciones, donde primero se carga
una dirección en un registro índice y
después la misma se combina con una
localidad de memoria.
MOV SI, 2
MOV AX, ARREGLO[ SI ]
En este caso, en el registro AX se coloca
el contenido de la localidad de memoria
cuya dirección es la de ARREGLO + 2.
INDEXADO DE BASE
La (EA) es la suma de los
contenidos del registro base
(BX), un registro índice (SI o DI)y
un desplazamiento (opcional).
La siguiente es una secuencia de
instrucciones que ilustra este
tipo de direccionamiento.
MOV BX,OFFSET
ETIQUETA
MOV SI,
MOV AX,[ BX + SI +2 ]

Modos de direccionamiento.

  • 1.
    Modos de direccionamiento PorIsaí Adalberto Martínez Mijares Lenguajes de Interfaz
  • 2.
    INMEDIATO El dato acargar en el operando destino es una constante. El usuario especifica un byte o palabra como operando fuente. Esta constante se ensambla como parte de la instrucción. Por ejemplo: MOV AX,18; Coloca el num. 18 en el reg. AX.
  • 3.
    DE REGISTRO El datoa cargar en el operando El dato a cargar en el operando destino se obtiene de un registro. Ejemplo : MOV AX, BX Es un ejemplo de direccionamiento de registro en donde la unidad de ejecución (EU) toma el operando del registro BX, determina como destino el registro AX y ordena a la ALU llevar a cabo la operación.
  • 4.
    DIRECTO El dato acargar en el operando destino esta guardado en una variable (Etiqueta). En este direccionamiento la dirección efectiva (EA), para una localidad de memoria, esta contenida en la instrucción. Para obtener la dirección de 20 bits, se suman el desplazamiento que tiene la etiqueta y el contenido del registro DS. La siguiente instrucción es un ejemplo de este tipo de direccionamiento. MOV AX, VAR1 Donde previamente se definió en el segmento de datos a VAR1 VAR1 DB 20H
  • 5.
    DE REGISTRO INDIRECTO Eldato a cargar en el operando destino esta guardado en una variable (Normalmente un arreglo) y se carga al operando destino indirectamente a través de uno de los siguientes registros: BX, BP, SI o DI. Para evitar confundir este modo de direccionamiento con el de registro, en la instrucción, los registros deben aparecer entre paréntesis rectangulares. Como la EA es una dirección y no el contenido de una localidad de memoria, antes de utilizar los registros mencionados, estos deben contener direcciones. Una técnica para asegurar lo anterior es utilizar el operador OFFSET. MOV BX, OFFSET ARREGLO Este modo de direccionamiento se puede usar para colocar el contenido de la localidad de memoria a la que apunta BX, por ejemplo en AX. MOV AX, [ BX ] Donde [BX] es un desplazamiento relativo a DS ( DS:[ BX ] )
  • 6.
    RELATIVO A LABASE Al hacer uso de este modo de direccionamiento, la EA del operando fuente se obtiene al sumar un desplazamiento a los siguientes registros: BP o BX. En este caso, los registros deben contener la dirección del desplazamiento. Un ejemplo del uso de este tipo de direccionamiento lo ofrece la siguiente instrucción: MOV AX, [ BX+2 ]
  • 7.
    INDEXADO DIRECTO En estemodo, la (EA) es la suma del contenido de un registro índice (SI o DI) y un desplazamiento. Un ejemplo común lo construye una secuencia de instrucciones, donde primero se carga una dirección en un registro índice y después la misma se combina con una localidad de memoria. MOV SI, 2 MOV AX, ARREGLO[ SI ] En este caso, en el registro AX se coloca el contenido de la localidad de memoria cuya dirección es la de ARREGLO + 2.
  • 8.
    INDEXADO DE BASE La(EA) es la suma de los contenidos del registro base (BX), un registro índice (SI o DI)y un desplazamiento (opcional). La siguiente es una secuencia de instrucciones que ilustra este tipo de direccionamiento. MOV BX,OFFSET ETIQUETA MOV SI, MOV AX,[ BX + SI +2 ]