Colocar un include en cualquier zona de un programa tiene el mismo efecto que pegar el texto del archivo que se incluye en la misma zona del programa.
Si en el archivo que incluyes hay tablas, y no manejas bien el registro pclath, el PIC puede resetearse, por eso lo más recomendado es poner el include al principio del programa:
Codigo:
;Programa
org 0x00 ;Vector de reset
goto inicio
org 0x04 ;Vector de interrupción
movwf w_temp ;Copy W to TEMP register
swapf status,w ;Swap status to be saved into W
clrf status ;bank 0, regardless of current bank, Clears IRP,RP1,RP0
movwf status_temp ;Save status to bank zero STATUS_TEMP register
movf pclath,w ;Only required if using pages 1, 2 and/or 3
movwf pclath_temp ;Save PCLATH into W
clrf pclath ;Page zero, regardless of current page
goto isr ;Salta a la rutina de interrupción
;*****************************************************************
;
; Tablas de la página 0 de memoria
;
;*****************************************************************
#include spi.asm