Sunteți pe pagina 1din 11

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-1-

MODOS DE DIRECCIONAMIENTO
1. Introduccin 2. Direccionamiento inmediato 3. Direccionamiento directo 4. Direccionamiento relativo a registro 5. Direccionamiento indexado 6. Direccionamiento indirecto 7. Combinaciones de modos bsicos de direccionamiento 8. Modos de direccionamiento del microprocesador M68000 9. Direccionamiento paginado y direccionamiento segmentado 1. INTRODUCCIN - Modo de direccionamiento: mecanismo que permite conocer la ubicacin de un dato o instruccin. - Objeto: dato o instruccin que se desea direccionar. - Un computador dispone de varios modos de direccionamiento. - Objetivos de los modos de direccionamiento: Reducir el espacio ocupado en memoria por las instrucciones. Permitir la reubicacin del cdigo. Facilitar el manejo de las estructuras de datos. Modos de direccionamiento en las instrucciones - Los operandos y resultado de una instruccin son accedidos a travs de modos de direccionamiento. - Cada campo de operando o resultado en una instruccin contiene informacin acerca del modo de direccionamiento empleado para acceder a l. Cdigo de operacin (CO) y modificador (MD) Operandos (OPi) y resultado (RES) CO MD OP1 OP2 RES

- Cada campo de operandos o resultado tendr los siguientes subcampos: Mdir CR CD Mdir: especificador del modo de direccionamiento (ocupa pocos bits). CR: campo especificador del registro involucrado en el modo de direccionamiento (ocupa pocos bits). CD: campo que puede contener un operando inmediato, una direccin o un desplazamiento (suele ocupar bastante espacio).

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-2-

2. DIRECCIONAMIENTO INMEDIATO - La instruccin contiene al propio objeto. - Se emplea cuando la instruccin contiene un valor constante. - El tamao del operando viene determinado por el espacio reservado para l en el formato de instruccin. - Subcampos del campo de operando Mdir - Esquema de funcionamiento CD (operando inmediato)

- Ejemplo M68000:

MOVE.B #5,D0

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-3-

3. DIRECCIONAMIENTO DIRECTO Direccionamiento mediante registro - El operando se encuentra contenido en un registro. - Subcampos del campo de operando Mdir - Esquema de funcionamiento CR

- Ejemplos M68000:

MOVE.B #5,D0 MOVE.W #$23A0,A3

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-4-

Direccionamiento directo absoluto - La instruccin contiene la direccin de memoria exacta donde se encuentra el operando. - El operando se encuentra en memoria. - Subcampos del campo de operando Mdir CD (direccin) El rango de CD debe ser capaz de direccionar toda la memoria. Si no es capaz: direccionamiento de pgina base. - Esquema de funcionamiento

- Ejemplo M68000:

MOVE.B D0,$A61350

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-5-

4. DIRECCIONAMIENTO RELATIVO A REGISTRO - El operando se encuentra en memoria. - La direccin del objeto ha de ser calculada a partir de la suma del contenido de un cierto registro (que funciona como un puntero) y un desplazamiento (contenido en la instruccin). - Subcampos del campo de operando Mdir CR CD (desplazamiento)

Direccionamiento relativo a registro base - Se emplea como puntero un registro base, que puede ser un registro especfico o uno cualquiera de los del banco. - El registro base utilizado se indica en el subcampo CR. - Esquema de funcionamiento

- Ejemplo M68000:

MOVE.W 5(A0),D1

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-6-

Direccionamiento relativo a contador de programa - Como puntero se emplea el contador de programa. - Este direccionamiento se emplea para acceder a instrucciones (saltos relativos o bucles) o para referenciar datos cercanos al cdigo. - No es preciso introducir el subcampo CR. - Esquema de funcionamiento

- Ejemplo M68000:

MOVE.L 24(PC),D0

Direccionamiento relativo a puntero de pila - Pila: estructura de tipo LIFO marcada por el fondo de la pila el puntero de pila (*SP), registro que apunta a la ltima posicin ocupada de la pila - Como puntero del direccionamiento se emplea el puntero de pila. - No es preciso incluir el subcampo CR, y a veces no lleva CD. - Ejemplo M68000: MOVE.B D0,24(SP) MOVE.B D0,24(A7)

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-7-

5. DIRECCIONAMIENTO INDEXADO - Similar al direccionamiento relativo a registro base. El operando se encuentra en memoria. Registro ndice: se modifica a menudo en la ejecucin del programa. - Subcampos del campo de operando Mdir CR CD (desplazamiento)

- El registro ndice puede permitir incrementos o decrementos antes o despus de obtenerse la direccin del objeto: Preincremento Predecremento Posincremento Posdecremento - El incremento o decremento puede depender del tamao del objeto referenciado. - Ejemplos M68000 (slo predecremento y posincremento): MOVE.B D0,(A0)+ incrementa A0 en 1 MOVE.W D0,-(A2) decrementa A2 en 2 MOVE.L (A5)+,D3 incrementa A5 en 4 - Utilizado para recorrer tablas o vectores. 6. DIRECCIONAMIENTO INDIRECTO - El operando se encuentra en memoria. - La instruccin contiene una direccin que se emplea para leer en memoria una direccin intermedia que ser la verdadera direccin del objeto buscado. - Subcampos del campo de operando Mdir CD (direccin indirecta) - Esquema de funcionamiento

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-8-

7. COMBINACIONES DE MODOS BSICOS DE DIRECCIONAMIENTO Direccionamiento indirecto a registro - Es similar al direccionamiento indirecto, pero la direccin intermedia est contenida en un registro, no en una posicin de memoria. - La instruccin 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) Combinacin de modos indirecto e indexado - Subcampos del campo de operando Mdir CR CD (direccin indirecta)

- Preindexado: El contenido del registro ndice se suma al de la direccin indirecta en el primer paso de la indireccin.

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-9-

- Posindexado: el contenido del registro ndice se suma a la direccin intermedia en el segundo paso de la indireccin.

- Puede haber preincremento o predecremento (total: 8 posibilidades). Direccionamiento relativo a registro con ndice y desplazamiento - La direccin 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)

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-10-

8. MODOS DE DIRECCIONAMIENTO DEL MICROPROCESADOR M68000 - Inmediato (slo operandos fuente): MOVE.B #$48,D3 - Mediante registro De datos: De direcciones: - Absoluto directo: MOVE.B #$48,D3 MOVE.W #$4AE8,A5

MOVE.W D2,$4AB12F0

- Relativo a registro de direcciones (indirecto a registro): MOVE.L $345A0A5F,(A6) - Relativo a registro de direcciones con desplazamiento: MOVE.L $345A0A5F,3(A6) - Relativo a registro de direcciones con desplazamiento e ndice: MOVE.L $345A0A5F,4(A1,A2) MOVE.L $345A0A5F,4(A4,D7) - Relativo a registro de direcciones con predecremento: MOVE.W D0,-(A7) - Relativo a registro de direcciones con posincremento: MOVE.W D0,(A7)+ - Relativo a contador de programa con desplazamiento (slo operando fuente): MOVE.L 4(PC),$345A0A5F - Relativo a contador de programa con desplazamiento e ndice (slo operando fuente): MOVE.L 4(PC,A2),$345A0A5F MOVE.L 4(PC,D7),$345A0A5F

Estructura y Tecnologa de Computadores I Modos de direccionamiento

-11-

9. DIRECCIONAMIENTO PAGINADO Y DIRECCIONAMIENTO SEGMENTADO Direccionamiento paginado - La memoria se encuentra dividida en pginas (bloques de igual longitud). - Las direcciones se componen de dos partes: Indicador de pgina (IP): en un registro especfico o de propsito general de la mquina. Direccin de palabra (DP): en el campo CD de la instruccin. - Concatenando IP y DP se obtiene la direccin completa. - Esquema de funcionamiento

Direccionamiento segmentado - La memoria se divide en porciones de tamao variable llamadas segmentos. - Tabla de segmentos: contiene la direccin del comienzo y del final de cada segmento en memoria. - Problemas: fraccionamiento de memoria. - Ventajas: se pueden definir segmentos de tamao arbitrario.

S-ar putea să vă placă și