DOWNLOAD MAIN
; Interrupt context saving & recovery routines
; by Randy Gamage
ORG 4
doISR ;Start of Interrupt service routine
; Variables W_TEMP, PCLATH_TEMP, and FSR_TEMP
; should be declared in the shadow RAM area
; so they are accessible from all banks
movwf W_TEMP
swapf STATUS,w
clrf STATUS
movwf STATUS_TEMP
movf PCLATH,w
movwf PCLATH_TEMP
clrf PCLATH
movf FSR,w
movwf FSR_TEMP
;
; Interrupt handling routine goes here
;
INTDone
movf FSR_TEMP,w
movwf FSR
movf PCLATH_TEMP,w
movwf PCLATH
swapf STATUS_TEMP,w
movwf STATUS
swapf W_TEMP,f
swapf W_TEMP,w
ExitInt
retfie
|