Comunicarles que la simulación paso a paso en Proteus con pics de la familia descrita no se puede hacer fácilmente debido a que Proteus cambia y asigna de forma aleatoria las direcciones de las variables en la memoria RAM.
Esto es debido entre otras cosas al uso de 16 posiciones de memoria compartida dentro de todos los bancos y que se mapean como si estuvieran todas en el mismo banco.
Además para el resto y según el banco de memoria en que se encuentren las mapea con un offset.
Por tanto es muy lioso el poder visualizar los valores que van tomando las variables según se vaya ejecutando el programa debido a que es preciso conocer en todo momento en que dirección se encuentra cada una de las variables declaradas.
Por ejemplo una variable situada en la dirección 0x23 la mapeará a la dirección 0x03 de la memoria RAM compartida y si tenemos otra variable en la dirección 0x73 también la va a mapear en la dirección 0x03.
Por otra parte si la variable esta en la dirección 0xA9(banco 1) la pondrá en la dirección 0x59; la 0x129(banco 2) la pondrá en el banco 0xA9 y así sucesivamente para cada banco.
¡¡¡ Vamos todo muy lioso"





Fermín