Está en la página 1de 3

Direccionamiento Indirecto

Es el modo ms potente y utiliza los registros INDF y FSR.


En el registro FSR se introduce la direccin del registro que se
quiere leer cuando se acceda a INDF.
FSR acta como puntero, es decir, el valor que guardemos en
este registro ser la direccin de una posicin de memoria. Si
aumentamos o disminuimos con cualquier operacin el
contenido de FSR nos moveremos entre las posiciones de
memoria.

DISPOSITIVOS LGICOS MICROPROGRAMABLES

El PIC16F84A

5.9

El registro INDF no tiene existencia fsica, solamente est


implementado en la posicin 0 como modo de notacin. La
utilidad de este registro no es otra que acceder a los datos
apuntados por el registro FSR, para poder modificarlos, etc.
Esto se ve mucho ms claro en los dos siguientes ejemplos.
El primero de ellos es un pseudo-cdigo para acceder a la RAM,
y el segundo es un algoritmo para limpiarla.
Ejemplo 1:

El registro 05 contiene el
valor 10 h.

Incrementamos el registro FSR


(FSR=FSR+1).

El registro 06 contiene el
valor 0A h.

Ahora apunta a la posicin 06.

Si leemos el registro INDF,


este retornar el valor 0A h.

Cargamos el valor 05 en el
registro FSR.

Ahora est
registro 05.

Si leemos el registro INDF,


este retornar el valor 10

apuntado

el

h.
INDF

10 h

INDF

0A h

001

001

002

002

003

003

FSR

05 h

FSR

06 h

005

10 h

005

10 h

006

0A h

006

0A h

007

007

008

008

009

009

00A

00A

00B

00B

Si
leemos
del
registro INDF de
manera
indirecta
(con FSR apuntndolo), el valor ledo ser 00. Si escribimos en
este registro de manera indirecta, obtendremos una nooperacin, aunque el registro estado se ver afectado.
Ejemplo 2:
Limpiar la memoria RAM desde la posicin 10 h a la 20 h.

NEXT

CONTINUAR

MOVLW
MOVWF
CLRF
INCF
BTFSS
GOTO

0X10
FSR
INDF
FSR
FSR,5
NEXT

; Inicializamos puntero
;
;
;
;
;

Limpiamos el registro apuntado


Incrementamos el puntero
Los registros estan borrados?
No, limpiar siguiente
Si, se continua con el programa

Existe un quinto modo de direccionamiento llamado


direccionamiento relativo que no trataremos por que no est
implementado en los PICs.

También podría gustarte