Colegas,
¿Conoce alguno de ustedes acerca de algún problema, de esos raros, alrededor de la instrucción MOVFF en un PIC18F4550?
Llevo ya más de quince años programando PICs a puro ensamblador, pero no doy con esto que les expongo a continuación. A lo mejor alguno de ustedes tiene una idea de por dónde está viniendo el problema. A lo mejor -ojalá- estoy cometiendo alguna estupidez en alguna parte, pero de veras no la veo.
LA dichosa instrucción parece "transparente". La uso para salvar el contenido de un FSRn a una variable en RAM y es como si no hubiera instrucción: contenido 00h. Igual, la uso para pasar el contenido de una variable X a una posición de RAM a través de un INDFn, y nada: 00h.
Y al parecer, ese problema se me manifiesta en cierta parte del código (quiero pensar que de la Memoria de Programa), pues a lo largo del programa uso muchas veces esa instrucción sin ningún problema...
Si hago las mismas funciones a través de W (MOVF nnn, W y MOVWF), todo perfecto.
Le he buscado la quinta y hasta la sexta pata al gato a través del datasheet y de cuanto foro he visto en internet, y nada. En un post http://www.microchip.com/forums/m34913.aspx de hace ¡12 años! alguien mencionaba un tema muy parecido, pero todo se quedó ahí. No he visto nada al respecto en ningún documento de Errata.
Gracias y un saludo cordial desde México. ...
¿Conoce alguno de ustedes acerca de algún problema, de esos raros, alrededor de la instrucción MOVFF en un PIC18F4550?
Llevo ya más de quince años programando PICs a puro ensamblador, pero no doy con esto que les expongo a continuación. A lo mejor alguno de ustedes tiene una idea de por dónde está viniendo el problema. A lo mejor -ojalá- estoy cometiendo alguna estupidez en alguna parte, pero de veras no la veo.
LA dichosa instrucción parece "transparente". La uso para salvar el contenido de un FSRn a una variable en RAM y es como si no hubiera instrucción: contenido 00h. Igual, la uso para pasar el contenido de una variable X a una posición de RAM a través de un INDFn, y nada: 00h.
Y al parecer, ese problema se me manifiesta en cierta parte del código (quiero pensar que de la Memoria de Programa), pues a lo largo del programa uso muchas veces esa instrucción sin ningún problema...
Si hago las mismas funciones a través de W (MOVF nnn, W y MOVWF), todo perfecto.
Le he buscado la quinta y hasta la sexta pata al gato a través del datasheet y de cuanto foro he visto en internet, y nada. En un post http://www.microchip.com/forums/m34913.aspx de hace ¡12 años! alguien mencionaba un tema muy parecido, pero todo se quedó ahí. No he visto nada al respecto en ningún documento de Errata.
Gracias y un saludo cordial desde México. ...
Última edición: