Si, el problema viene cuando programas un microcontrolador en C, entonces te das cuenta de "todo el tiempo perdido" que tampoco es perdido, pero en C es muchísimo mas facil, por ejemplo para sacar 00000001 por el puerto A hacer directamente:
PORTB = 0x01;
con esa línea ya lo sacas, o por ejemplo:
IF (PORTB == 0x01) then
PORTA = 1;
Imagina hacer esto último en ASM la de líneas que ocuparia, posiblemente 6 o 7 líneas mientras en C són dos.
Es mas, compiladores como MPLAB tiene todas las librerias de estos pics y no hace falta ni declarar direcciónes de memória ni nada, simplemente metes la librria con INCLUDE y fiesta. Lo que queda es ya directamente poner los fuzes o configuraciones iniciales y ya puedes programar directamente sobre los puertos sin preocuparte de bancos, registros ni nada con muchas menos líneas de codigo.
PORTB = 0x01;
con esa línea ya lo sacas, o por ejemplo:
IF (PORTB == 0x01) then
PORTA = 1;
Imagina hacer esto último en ASM la de líneas que ocuparia, posiblemente 6 o 7 líneas mientras en C són dos.
Es mas, compiladores como MPLAB tiene todas las librerias de estos pics y no hace falta ni declarar direcciónes de memória ni nada, simplemente metes la librria con INCLUDE y fiesta. Lo que queda es ya directamente poner los fuzes o configuraciones iniciales y ya puedes programar directamente sobre los puertos sin preocuparte de bancos, registros ni nada con muchas menos líneas de codigo.