Hola!
Estoy "migrando" de un pic 16f877a a un 16f1519, creo que no hay mucho cambio a grandes rasgos.
Estoy programando en Assamble con MPLAB X IDE 3.0 en relocatable.
Cuando simulo mi programa en Proteus me sale el siguiente error:
(PIC16 CORE) PC=0x29xx. Indirection addres (0xFFFF) for INDF1 register is outside writable data memory - no write ocurrs.
(Pongo xx porque me sale el mismo error para todas las direcciones a partir de esa. Vale aclarar que en esas direcciones de PC no tengo codigo).
Ahora bien, si saco las rutinas que agrego, el problema se va. Estas rutinas son del siguiente tipo:
CODELABEL CODE
RUTINA1
movf reg,w
sublw d'0'
pagesel subrutina1
btfsc status,z
call subrutina1
pagesel rutina1
return
subrutina1
movlw 0xhh
movwf registro1
movlw 0xhh
movwf registro2
return
si saco este tipo de rutinas, el problema se va, como dije antes. pero tengo otra rutina igual a esta, donde solo cambia que en vez de dirigirse a subrutina1 se dirige a otra subrutina.
creo que el problema viene pq indirectamente los FSR apuntan a la dirección del registro INDF1, entonces devuelve el valor 0 y no se puede escribir ni leer.
pero no se en que momento pasa.
espero me puedan guiar un poco.
saludos
jose.