You are on page 1of 3

MODOS DE DIRECCIONAMIENTO

Son las diferentes maneras de especificar en informtica un operando dentro de una instruccin (lenguaje ensamblador). Cmo se especifican e interpretan las direcciones de memoria segn las instrucciones. Un modo de direccionamiento especifica la forma de calcular la direccin de memoria efectiva de un operando mediante el uso de la informacin contenida en registros y / o constantes, contenida dentro de una instruccin de la mquina o en otra parte. Se les llama modos de direccionamiento a las distintas formas de combinar los operandos segn el acceso que se hace a memoria. Dicho de otra manera, un modo de direccionamiento ser una forma de parmetro para las instrucciones. Una instruccin que lleve un parmetro, por lo tanto, usar un modo de direccionamiento, que depender de cmo direccionar (accesar) al parmetro; una instruccin de dos parmetros, combinar dos modos de direccionamiento. En este modo de direccionamiento no es necesario poner ninguna direccin de forma explcita, ya que en el propio cdigo de operacin se conoce la direccin 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 parmetro implcito y este es el AC. Para finalizar y dejar este modo de direccionamiento generalizado para las arquitecturas ms usuales, remarcamos que tambin podemos encontrarlo en la arquitectura con registros de propsito general, por ejemplo con rdenes como set c, que pone a 1 el registro c (acarreo). Se usan los registros SI, DI como apuntadores El operando indica una localidad de memoria, cuya direccin (slo la parte desplazamiento) est en SI o DI. Es ms lento que los anteriores, pues tiene que calcular la localidad.

Indirecto

Inmediato

En la instruccin est incluido directamente el operando. En este modo el operando es especificado en la instruccin misma. En otras palabras, una instruccin de modo inmediato tiene un campo de operando en vez de un campo de direccin. El campo del operando contiene el operando actual que se debe utilizar en conjunto con la operacin especificada en la instruccin. Las instrucciones de modo inmediato son tiles para inicializar los registros en un valor constante. Cuando el campo de direccin especifica un registro del procesador, la instruccin se dice que est en el modo de registro. El campo de operando en la instruccin contiene la direccin en memoria donde se encuentra el operando. En este modo la direccin efectiva es igual a la parte de direccin de la instruccin. El operando reside en la memoria y su direccin es dada directamente por el campo de direccin de la instruccin. En una instruccin de tipo ramificacin el campo de direccin especifica la direccin de la rama actual. Con este tipo de direccionamiento, la direccin efectiva es contenida en la misma instruccin, tal como los valores de datos inmediatos que son contenidos en la instruccin. Un procesador de 16 bits suma la direccin efectiva al contenido del segmento de datos previamente desplazado en 4 bits para producir la direccin fsica del operando. Estas dos instrucciones seran equivalentes, si Variable est, por ejemplo, en la localidad 0 de memoria. En la forma primitiva del lenguaje de mquina, como el primer ejemplo, se tiene que indicar mover a AH el contenido (indicado por los corchetes), de la localidad 0 de los datos (lo de los datos es implcito). El lenguaje Ensamblador, sin embargo, nos permite la abstraccin del uso de variables, pero como una variable tiene una localidad determinada en memoria, para el procesador funciona igual. La nica diferencia consiste en que el programador no tiene que preocuparse por la direccin, ese manejo lo hace automticamente el Ensamblador. El campo de operando contiene una direccin en memoria, en la que se encuentra la instruccin . Sirve para especificar operandos que estn en registros.

Directo

Absoluto

De registro

El campo de operando de la instruccin contiene un identificador de registro en el que se encuentra la direccin efectiva del operando. En este modo el campo de la direccin de la instruccin da la direccin en donde la direccin efectiva se almacena en la memoria. El control localiza la instruccin de la memoria y utiliza su parte de direccin para acceder a la memoria de nuevo para leer una direccin efectiva. Unos pocos modos de direccionamiento requieren que el campo de direccin de la instruccin sea sumado al control de un registro especificado en el procesador. La direccin efectiva en este modo se obtiene del siguiente clculo: Dir. Efectiva = Dir. de la parte de la instruccin + Contenido del registro del procesador Combina el modo directo e indirecto mediante registros.

Indirecto mediante registros

De desplazamiento 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 estn marcados por el fondo de la pila y el puntero de pila (*SP), El puntero de pila apunta a la ltima posicin ocupada. As, como puntero de direccionamiento usaremos el SP. El desplazamiento ms el valor del SP nos dar la direccin 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 ms complejo que otros tipos estudiados ms arriba. En este modo el contenido de un registro ndice se suma a la parte de direccin de la instruccin para obtener la direccin efectiva. El registro ndice es un registro CPU especial que contiene un valor ndice. Un campo de direccin de la instruccin define la direccin inicial del arreglo de datos en la memoria. Cada operando del arreglo se almacena en la memoria en relacin con la direccin inicial. La distancia entre la direccin inicial y la direccin del operando es el valor del ndice almacenado en el registro de ndice. Cualquier operando en el arreglo puede accesarse con la misma instruccin siempre y cuando el registro ndice contenga el valor de ndice correcto. El registro ndice puede incrementarse para facilitar el acceso a operandos consecutivos. Ntese que si una instruccin de tipo ndice no incluye un campo de direccin en su formato, la instruccin se convierte al modo de operacin de indirecto por registro. Algunas computadoras dedican un registro de CPU para que funcione exclusivamente como un registro ndice. De manera implcita este registro participa cuando se utiliza una instruccin de modo ndice. En las computadoras con muchos registros de procesador, cualquiera de los registros de la CPU puede contener el nmero de ndice. En tal caso, el registro debe estar especificado en forma explcita en un campo de registro dentro del formato de instruccin. En este modo, el contenido de un registro base se suma a la parte de direccin de la instruccin para obtener la direccin 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 est en la manera en que se usan ms que en la manera en que se calculan. Se considera que un registro base contiene una direccin base y que el campo de direccin de la instruccin proporciona un desplazamiento en relacin con esta direccin base. El modo de direccionamiento de registro base se utiliza en las computadoras para facilitar la localizacin de los programas en memoria. Depende solamente de la instruccin, es decir, la instruccin no lleva parmetros. Particularmente en instrucciones que no accedan memoria, o bien que tienen una forma especfica de accesarla.

Indexado respecto a una base

Direccionamiento de registro base

Direccionamiento implcito

Modo registro

Usa solamente registros como operandos Es el ms rpido, pues minimiza los recursos necesarios (toda la informacin fluye dentro del EU del CPU)

You might also like