TEMA 13. MODOS DE DIRECCIONAMIENTO
Son tecnicas que nos permiten
averiguar la direccion fisica de los datos.
1.- Direccionamiento implicito:
la instruccion no se refiere explicitamente al operando sobre el que trabaja.
No hay que dar direccion, porque va implicito. Ocupan menos, procesandose mas
rapido.
Ej: CPL=>
calcula el C-1 del acumulador.
2.- Direccionamiento inmediato.
El campo de direccion contiene ya los datos.
Ej: ADD A, 1BH
(Suma al acumulador el valor 1B en hexadecimal).
3.- Direccionamiento absoluto.
El campo de direccion contiene la direccion fisica del dato.
Ej: LD (F805H),
A (Carga el contenido del acumulador en
F805).
4.- Direccionamiento relativo.
El campo de direccion contiene un desplazamiento con relacion a un punto de referencia
(direccion base). La direccion base, normalmente es la que halla en el
contador.
Ej: JR NC , 37
(Le sumamos 37 al contador de programas. JR es instruccion de salto, y
NC provoca que no haya acarreo).
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
6.- Direccionamiento indirecto.
El campo de direccion contiene una direccion en la que esta la direccion de los
datos.
Ej: ADD A; *45
Acumulador
(antes): 357
Posicion de
memoria 45 => 79
Posicion de
memoria 79 => 210
Acumulador
(despues): 567
7.- Direccionamiento indexado
indirecto (combinacion):
Ej:
Posicion Contenido
40 50 LDA @*40
60 80 D.
indexado: 40+20=60
70 185 D.
indirecto: posicion 60 => 80
80 323 posicion
80 => 323
RI 20 Carga
323 en el acumulador.
8.- Direccionamiento indirecto
indexado (combinacion):
Ej: LDA *@40
Indireccion:
posicion 40 => 50
Direccion
indexada: 50 + 20 = 70
-
en la posicion 70 => 185 (se cargaria en el acumulador)