aver explico mejor el problema, resulta que mi programa es muy largo y ya me ocupe los primeros 2k del pic es decir la primera pagina, yo se que ya tengo que tener cuidado al hacer los llamados de subrutinas manipulando el pcl o bien sea utilizando las directiva "pagesel" del mplab, pero lo que yo quiero saber es si por ejemplo cuando el pic se encuentre en una subrutina que esta en otra pagina y esta tiene que modificar registros de proposito general no hay ningun problema con que estos registros esten en el banco 0.
mejor dicho si la subrutina esta en la pagina 1, tengo que usar registros de proposito general del banco 1, o las paginas son independientes de los bancos, o tambien tengo que tener cuidado a la hora de manipular los registros de proposito general.
gracias
Con respecto a manipular registros, debes manejar el PCLATH no el PCL. Cuidado con eso!. pagesel es un macro que actúa sobre PCLATH. El PCL se te acomodará bien cuando hagas un call o un goto.
Con respecto a la otra pregunta, creo que estás confundiendo
BANCOS de MEMORIA de PROGRAMA con
BANCOS DE MEMORIA RAM.
El pic , si has leído su architectura, tiene separadas las memoria de programa de la ram. Este tipo de arquitectura se llama Harvard.
Por eso tu puedes estar apuntanto al Banco de Memoria RAM #0, a la vez que estar apuntando al Banco de Memoria de Programa #2.
También puedes estar apuntando o ubicado en el Banco de Memoria de Programa #3 y estar accesando a los registros de Memoria Ram #0
Espero eso te haya aclarado el panorama.