Los modos de
direccionamientos no son más que un
mecanismo que permite localizar una ubicación de algún dato (operando o la
ubicación de un operando en una instrucción) específico y se pueda acceder al
mismo de una forma fácil y ligera.
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
Además de esto el modo
de direccionamiento permite reducir el espacio ocupado en memoria por las instrucciones,
Permitir la reubicación del código y Facilitar el manejo de las estructuras de
datos. Un computador dispone de varios modos de direccionamiento y esto permite
un manejo más eficiente y eficaz, entre direccionamiento que maneja un computar
tenemos los siguientes:
Ø DIRECCIONAMIENTO INMEDIATO
La
instrucción contiene al propio objeto.
Se
emplea cuando la instrucción contiene un valor constante.
El
tamaño del operando viene determinado por el espacio reservado para él en el Formato
de instrucción.
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
ejemplo: MOV A,#17H
Ø 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.
Ejemplo: MOV
A,17H
Ø DIRECCIONAMIENTO INDIRECTO
El campo de
operando contiene una dirección de memoria, en la que se encuentra la dirección
efectiva del operando
La instrucción contiene una dirección que se emplea para leer en memoria una Dirección
intermedia que será la verdadera dirección del objeto buscado.
Subcampos del campo de operando
Mdir
|
CD (dirección indirecta
|
Ø DIRECCIONAMIENTO POR REGISTRO
Sirve para
especificar operando que están en registros. En este modo, los
operandos están en registros que residen dentro de la CPU
Ø DIRECCIONAMIENTO RELATIVO A REGISTRO
La dirección del objeto se obtiene sumando el contenido de
un registro base, un registro índice y un desplazamiento.
Subcampos del campo
de operando
Mdir
CR1 CR2 CD (desplazamiento)
Ejemplo M68000: MOVE.L D0,12(A0,D2)
Consiste, al igual que el indirecto a través de registro, en calcular la dirección efectiva como la suma del contenido del registro base y un cierto desplazamiento que siempre será positivo. Esta técnica permite códigos reentrantes y acceder de forma fácil y rápida a posiciones cercanas de memoria. Este modo de direccionamiento es muy usado por los ensambladores cuando se llaman a las funciones (para acceder a los parámetros almacenados en la pila).
Ø DIRECCIONAMIENTO INDIRECTO A REGISTRO
- Es similar al direccionamiento
indirecto, pero la dirección intermedia está contenida en un registro, no en
una posición de memoria.
- La instrucción contendrá la
referencia al registro.
- Subcampos del campo de operando
Mdir
|
CR
|
-
Coincide con el direccionamiento relativo a registro base sin usar
desplazamiento.
-
Ejemplo M68000: MOVE.L D0,(A4)
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.
RELATIVO A UN REGISTRO INDICE
Es similar al
anterior, excepto que es el contenido del registro índice el que indica el
desplazamiento que se produce a partir de una dirección de memoria que se pasa
también como argumento a la orden que utiliza este modo de direccionamiento.
Aunque en esencia son dos modos equivalentes. La EA se calcula como la suma del
contenido del registro índice y una dirección de memoria:
vídeo sobre direccionamiento de memoria
el contenido es de mi autoria y es una recopilacion de distintas fuentes :
Puedes descargar un PDF con mas información al respecto
No hay comentarios :
Publicar un comentario