modos de direccionamiento

7

Click here to load reader

Upload: gabo

Post on 09-Jul-2015

7.465 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Modos de direccionamiento

1.2.3 MODOS DE DIRECCIONAMIENTO

Son las diferentes maneras de especificar en informática un operando dentro de una instrucción (lenguaje ensamblador). Cómo se especifican e interpretan las direcciones de memoria según las instrucciones.

Un modo de direccionamiento especifica la forma de calcular la dirección de

memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.

Indirecto En este modo de direccionamiento no es necesario poner ninguna dirección de forma explícita, ya que en el propio código de operación se conoce la dirección del (de los) operando(s) al (a los) que se desea acceder o con el (los) que se quiere operar. Un ejemplo de este tipo de direccionamiento lo podemos encontrar en la arquitectura de acumulador (AC) donde siempre hay un parámetro implícito y este es el AC. Para finalizar y dejar este modo de direccionamiento generalizado para las arquitecturas más usuales, remarcamos que también podemos encontrarlo en la arquitectura con registros de propósito general, por ejemplo con órdenes como set c, que pone a 1 el registro c (acarreo).

Inmediato En la instrucción está incluido directamente el operando. En este modo el operando es especificado en la instrucción misma. En otras palabras, una instrucción de modo inmediato tiene un campo de operando en vez de un campo de dirección. El campo del operando contiene el operando actual que se debe utilizar en conjunto con la operación especificada en la instrucción. Las instrucciones de modo inmediato son útiles para inicializar los registros en un valor constante. Cuando el campo de dirección especifica un registro del procesador, la instrucción se dice que está en el modo de registro. Función:

ejemplo:MOV A,#17H

Page 2: Modos de direccionamiento

Directo El campo de operando en la instrucción contiene la dirección en memoria donde se encuentra el operando. En este modo la dirección efectiva es igual a la parte de dirección de la instrucción. El operando reside en la memoria y su dirección es dada directamente por el campo de dirección de la instrucción. En una instrucción de tipo ramificación el campo de dirección especifica la dirección de la rama actual. Con este tipo de direccionamiento, la dirección efectiva es contenida en la misma instrucción, tal como los valores de datos inmediatos que son contenidos en la instrucción. Un procesador de 16 bits suma la dirección efectiva al contenido del segmento de datos previamente desplazado en 4 bits para producir la dirección física del operando. Función: Ejemplo: MOV A,17H

Page 3: Modos de direccionamiento

Indirecto El campo de operando contiene una dirección de memoria, en la que se encuentra la dirección efectiva del operando. Función: Ejemplo: MOV A,@17H

Absoluto El campo de operando contiene una dirección en memoria, en la que se encuentra la instrucción.

De registro Sirve para especificar operandos que están en registros.

Ejemplo: MOV A,R0

Page 4: Modos de direccionamiento

Indirecto mediante registros El campo de operando de la instrucción contiene un identificador de registro en el que se encuentra la dirección efectiva del operando. En este modo el campo de la dirección de la instrucción da la dirección en donde la dirección efectiva se almacena en la memoria. El control localiza la instrucción de la memoria y utiliza su parte de dirección para accesar la memoria de nuevo para leer una dirección efectiva. Unos pocos modos de direccionamiento requieren que el campo de dirección de la instrucción sea sumado al control de un registro especificado en el procesador. La dirección efectiva en este modo se obtiene del siguiente cálculo: Dir. Efectiva = Dir. de la parte de la instrucción + Contenido del registro del procesador Función:

Ejemplo: MOV A,@R0

Page 5: Modos de direccionamiento

De desplazamiento Combina el modo directo e indirecto mediante registros.

De pila Se utiliza cuando el operando está en memoria y en la cabecera de la pila. Este direccionamiento se basa en las estructuras denominadas Pila(tipo LIFO), las cuales están marcados por el fondo de la pila y el puntero de pila (*SP), El puntero de pila apunta a la última posición ocupada. Así, como puntero de direccionamiento usaremos el SP. El desplazamiento más el valor del SP nos dará la dirección del objeto al que queramos hacer referencia. En ocasiones, si no existe C. de desplazamiento solo se trabajara con la cima de la pila. Este tipo de direccionamiento nos aporta flexibilidad pero por el contrario, es mucho más complejo que otros tipos estudiados más arriba.

Indexado respecto a una base En este modo el contenido de un registro índice se suma a la parte de dirección de la instrucción para obtener la dirección efectiva. El registro índice es un registro CPU especial que contiene un valor índice. Un campo de dirección de la instrucción define la dirección inicial del arreglo de datos en la memoria. Cada operando del arreglo se almacena en la memoria en relación con la dirección inicial. La distancia entre la dirección inicial y la dirección del operando es el valor del índice almacenado en el registro de índice. Cualquier operando en el arreglo puede accesarse con la misma instrucción siempre y cuando el registro índice contenga el valor de índice correcto. El registro índice puede incrementarse para facilitar el acceso a operandos consecutivos. Nótese que si una instrucción de tipo índice no incluye un campo de dirección en su formato, la instrucción se convierte al modo de operación de indirecto por registro. Algunas computadoras dedican un registro de CPU para que funcione exclusivamente como un registro índice. De manera implícita este registro participa cuando se utiliza una instrucción de modo índice. En las computadoras con muchos registros de procesador, cualquiera de los registros de la CPU pueden contener el numero de índice. En tal caso, el registro debe estar especificado en forma explícita en un campo de registro dentro del formato de instrucción.

Page 6: Modos de direccionamiento

Direccionamiento de registro base En este modo, el contenido de un registro base se suma a la parte de dirección de la instrucción para obtener la dirección efectiva. Esto es similar al modo de direccionamiento indexado, excepto en que el registro se denomina ahora registro base, en lugar de registro índice. La diferencia entre los dos modos esta en la manera en que se usan mas que en la manera en que se calculan. Se considera que un registro base contiene una dirección base y que el campo de dirección de la instrucción proporciona un desplazamiento en relación con esta dirección base. El modo de direccionamiento de registro base se utiliza en las computadoras para facilitar la localización de los programas en memoria.

Page 7: Modos de direccionamiento

BIBLIOGRAFIA

o Irma Araceli Pool Cocom Correo: Irma949[arroba]hotmail.com Página web: http://www.monografias.com/trabajos14/leng-ensamblador/leng-ensamblador.shtml#MODOS

o Instituto Tecnológico de la Paz Tutorial del lenguaje ensamblador Página web: http://sistemas.itlp.edu.mx/tutoriales/ensamblador/tem3_4_.htm

o La enciclopedia de libre contenido: Wikipedia Pagina web: http://es.wikipedia.org/wiki/Modos_de_direccionamiento