hola
te cuento como experiencia personal, que cuando comence a usar mplab me sucedieron cosas parecidas como que podia llamar a una rutina o macro que no existiera, ya fuese de un .lib o .inc y no me daba error, me volvi loco intentando saber porqué. pero en sucesivos programas no se si al actualizar la version o simplemente algo que habia tocado. lo solucione haciendo un proyecto nuevo y reordenando los archivos, en el mismo asm, copiar pegar de las .lib .inc
pero llamar a una macro o rutina que no esté en un include o libreria y que no de error, a mi parecer, es por haber tocado algo
por que ahora si me los da
en mi caso para organizar los archivos, el .asm solo contiene los archivos que forman el programa
list P=16f877A
#include <P16F877A.INC>
#include <DEFINITIONS.INC>
#include <MACROS-MIDI.LIB>
#include <BOOTLOADER.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC&_BODEN_ON&_LVP_OFF
end
estos se encuentran en la misma carpeta del .asm asi no es necesario añadirlos en la ventana project excepto el propio .asm
#include <P16F877A.INC>
#include <DEFINITIONS.INC> estos contienen las direcciones y definiciones
#include <MACROS-MIDI.LIB> estas son las macros que uso en mis programas, podria ser de una lcd o IIC,pulsadores.....
#include <BOOTLOADER.INC> y en esta, está el programa principal donde se llaman a las rutinas y las direcciones donde se ubican las macros
copiar y pegar todo en el asm, solo las partes de las macros que vayas a utilizar y ponerlas en las direcciones donde vayan a estar, asi escribir el codigo de corrido tambien respetando las direcciones para las calls, interrupciones... y el programa que las llama, al final es lo mismo solo que al estar escribiendo en un solo archivo ayuda a colocar todo de forma mas grafica o mas sencilla a mi ver. puedes usar la ventana VIEW/PROGRAM MEMORY para ver como te queda ordenado el programa en la memoria
creo que el utilizar las macros y librerias sueltas se llama relocatable y escribir de corrido yo lo llamo asi, normalmente es como lo hacia, pero cuando empiezas a usar las mismas rutinas de un programa para otro ya te cansas de tanto copiar pegar y se recurre a incluirlas en una macro. pero si es para un solo programa copia y pega, como dice Leon Pic, que seguro asi te da los errores. si es para usar el mismo hard una y otra vez, prueba a hacer un nuevo pryecto y copiar pegar el codigo en hojas nuevas para crear, los guardas como asm lib .... y prueba haber si puedes llamar a una macro con el nombre cambiado, debería darte error
un saludo
aps tambien viene explicado en este
pdf como usar las macros