Está en la página 1de 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)
- Cada campo de operandos o resultado tendr los siguientes subcampos:
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).
CO MD OP1 OP2 RES
Mdir CR CD
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
- Esquema de funcionamiento
- Ejemplo M68000: MOVE.B #5,D0
Mdir CD (operando inmediato)
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
- Esquema de funcionamiento
- Ejemplos M68000: MOVE.B #5,D0
MOVE.W #$23A0,A3
Mdir CR
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
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
Mdir CD (direccin)
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
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
Mdir CR CD (desplazamiento)
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
- 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
- Esquema de funcionamiento
Mdir CR CD (desplazamiento)
Mdir CD (direccin indirecta)
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
- 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
- Preindexado: El contenido del registro ndice se suma al de la direccin indirecta en el
primer paso de la indireccin.
Mdir CR
Mdir CR CD (direccin indirecta)
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
- Ejemplo M68000: MOVE.L D0,12(A0,D2)
Mdir CR
1
CR
2
CD (desplazamiento)
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: MOVE.B #$48,D3
De direcciones: MOVE.W #$4AE8,A5
- Absoluto directo: 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.

También podría gustarte