Finally found out the answer, needed to save and restore the Bank Select Register in the assembly interrupt routine.
Upon entering the interrupt:
;save critical registers
MOVFF STATUS,_SSAVE ;save STATUS
MOVFF WREG,_WSAVE ;save W
MOVFF FSR0L,_FSAVELOW ;save FSR0 lowbyte
MOVFF FSR0H,_FSAVEHIGH ;save FSR0 highbyte
MOVFF BSR,_BSRSAVE ;save bank select register
Upon exiting:
;restore critical registers
MOVFF _FSAVELOW,FSR0L ;restore FSR0 lowbyte
MOVFF _FSAVEHIGH,FSR0H ;restore FSR0 highbyte
MOVFF _BSRSAVE,BSR ;restore bank select register
MOVFF _WSAVE,WREG ;restore W
MOVFF _SSAVE,STATUS ;restore STATUS
RETFIE ;return from the interrupt
Bookmarks