INDF y el FSR son registros q se complementan, sucede q el valor q posea el FSR corresponde al valor de una posicion de memoria, el contenido de esa posicion es visualizada en el INDF, por ejemplo supongamos lo siguiente:
Codigo:
Reg --------- Val
1D 11
FSR ???
INDF ???
Si cargamos al FSR con el valor 1D:
Codigo:
Reg ----------- Val
1D 11
FSR 1D
INDF ???
El INDF contiene el valor q existe en 1D:
Codigo:
Reg ----------- Val
1D 11
FSR 1D
INDF 11
Este valor puede leerse y escribirse, es decir podemos obtener el valor desd aki y tb podemos modificarlo. Por eso es q al FSR se le llama "puntero", porq apunta a una direccion de memoria q puede ser leida o escrita mediante el registro INDF.
Lo del macro ni idea solo se q son miniprogramas con la diferencia q no poseen un goto o un call sino q simplemente se escribe el nombre y el PIC ejecuta las instrucciones contenidas dentro de la macro, no se si regresara a la rutina q lo llamo despues de terminada su ejecucion.