TECNICAS DE DIRECCIONAMIENTO Y FORMATO
Se les llama técnicas de direccionamiento a
las distintas formas de combinar los operandos según el acceso que se hace a
memoria.
Dicho de otra manera, una técnica de
direccionamiento será una forma de parámetro para las instrucciones.
Una instrucción que lleve un parámetro, por lo
tanto, usará una tecnica de direccionamiento, que dependerá de cómo direccionará
(accesará) al parámetro; una instrucción de dos parámetros, combinará dos modos
de direccionamiento.
DIRECCIONAMIENTO INMEDIATO.
Tiene dos operandos: un registro y una
constante que se usa por su valor.
El valor constante no se tiene que buscar en
memoria, pues ya se obtuvo al hacer el “fetch” de la instrucción. Es donde uno de los operandos es una constante que está en la misma
instrucción.
DIRECCIONAMIENTO DIRECTO.
Uno de los operandos involucra una localidad
específica de memoria
El valor constante se tiene que buscar en
memoria, en la localidad especificada.
Es más lento, pero es el
más rápido para ir a memoria, pues ya “sabe” la localidad, la toma de la
instrucción y no la tiene que calcular.
DIRECCIONAMIENTO INDIRECTO.
Se usan los registros SI, DI como apuntadores
El operando indica una localidad de memoria,
cuya dirección (sólo la parte desplazamiento) está en SI o DI. Es más lento , pues tiene
que “calcular” la localidad.
DIRECCIONAMIENTO DE REGISTRO.
Usa solamente registros como operandos.
Es el más rápido, pues minimiza los recursos
necesarios (toda la información fluye dentro del EU del CPU). Es donde los operandos son registros. Los datos a operar están
contenidos en 2 registros de 32 bits y el resultado será colocado en otro
registro, del mismo tamaño.
En el modo de direccionamiento indirecto de registro, los contenidos del registro especificado son equivalentes a la dirección del operando. Dependiendo de la instrucción seleccionada, el contenido del registro apunta a un Registro o a una localidad de memoria del programa. Cuando se accesa la memoria de programa los registros pares del Working Register son usados para guardar direcciones de 16 bits.
DIRECCIONAMIENTO DE BASE O DESPLAZAMIENTO.
Es donde uno de los operandos está en una localidad de memoria cuya
dirección es la suma de un registro y una constante que forma parte de la
misma instrucción.
DIRECCIONAMIENTO 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






