VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
Modo de direccionamiento de las intrucciones cpu
1. Investigación de Arquitectura de Computadoras
Modo de direccionamiento:
Inmediato
En la instrucción está incluido directamente el operando.
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
De registro
Sirve para especificar operandos que están en registros.
Registro
2. Este "modo de direccionamiento" no tiene una dirección efectiva y no se
considera como un modo de dirección en algunas computadoras.
En este ejemplo, todos los operandos están en registros, y el resultado se
coloca en un registro.
Indirecto mediante registros
El campo de operando de la instrucción contiene un identificador de registro en
el que se encuentra la dirección efectiva del operando.
En este modo el campo de la dirección de la instrucción da la dirección en
donde la dirección efectiva se almacena en la memoria. El control localiza la
instrucción de la memoria y utiliza su parte de dirección para accesar la
memoria de nuevo para leer una dirección efectiva. Unos pocos modos de
direccionamiento requieren que el campo de dirección de la instrucción sea
sumado al control de un registro especificado en el procesador. La dirección
efectiva en este modo se obtiene del siguiente cálculo:
Dir. efectiva = Dir. de la parte de la instrucción + Contenido del registro del
procesador
Indexado con autoincremento/autodecremento
Es un modo de direccionamiento análogo al indexado, explicado anteriormente.
La única diferencia es que permite un incremento o decremento de la dirección
final o el registro índice según los siguientes casos:
-> Indexado con autopreincremento: Incrementa el registro índice primero (se
incrementa un valor, según el tamaño del objeto direccionado) y luego calcula
la EA al igual que el direccionamiento indexado.
-> Indexado con autoposincremento: Calcula la dirección efectiva y después
incrementa esta.
-> Indexado con autopredecremento: Decrementa el registro índice y después
calcula la dirección efectiva.
-> Indexado con autoposdecremento: Calcula la dirección efectica y después
decrementa esta.
Directo
3. 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.
Con este tipo de direccionamiento, la dirección efectiva es contenida en la
misma instrucción, tal como los valores de datos inmediatos que son
contenidos en la instrucción. Un procesador de 16 bits suma la dirección
efectiva al contenido del segmento de datos previamente desplazado en 4 bits
para producir la dirección física del operando.
Indirecto
El campo de operando contiene una dirección de memoria, en la que se
encuentra la dirección efectiva del operando.
4. Direccionamiento absoluto:
Consiste en direccionar una posición de memoria de forma directa, esto es, que
la dirección hace referencia directamente a dicha posición sin tener que realizar
cálculos adicionales para la EA.
Direccionamiento relativo:
Cuando para direccionar una posición de memoria se hace referencia a otra
sobre la cual se especifica un incremento o decremento, es decir, se requiere
otro dato para el cálculo de la dirección efectiva.
Generalmente se usan los direccionamientos relativos ya que, al ejecutar un
cierto programa se cumple la proximidad espacial y temporal, lo que implica
que datos que ya han sido usados o que se encuentran en posiciones cercanas
al PC tendrán una alta probabilidad de ser referenciados próximamente. Otras
de las ventajas del direccionamiento relativo es que permite los códigos
reentrantes y cambiar ciertas direcciones sin tener que volver a compilar el
programa. Es también útil porque nunca se sabe en qué posición de memoria
se cargará un determinado programa. Por último reduce el número de bits para
especificar las direcciones y se facilita la referencia a datos del programa a
través de los registros base.
El problema viene cuando queremos referenciar un dato al que no podemos
acceder de forma relativa (p.e porque los registros base no puedan alcanzar
dicha posición aun con el incremento más grande que podamos darle), en este
caso se requiere el direccionamiento absoluto que sí es capaz de acceder, por
lo general, a cualquier dirección de memoria.
5. 5.- Direccionamiento indexado. El campo de direccion contiene una direccion
de referencia y la direccion real se calcula sumando a la de referencia el
contenido de un registro especial, llamado registro indice.
Ej: ADD A; @60
Reg. indice:4
Acumulador (antes): 8
Posicion de memoria 60+4=64 =>13
Acumulador (despues): 21