Modos de direcionamiento
- 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 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
     está guardado en una variable (Etiqueta). En este direccionamiento la
     dirección efectiva (EA), para una localidad de memoria, está 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 está 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 ]
Mas informacion en:

No hay comentarios:
Publicar un comentario