jueves, 23 de octubre de 2014


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

Top musical en el cintilloo de arriba.. xd