Picdem™ 17 demonstration board user’s guide – Arizona Picdem 17 User Manual

Page 36

Advertising
background image

PICDEM™ 17 Demonstration Board User’s Guide

DS39024B-page 30

2001 Microchip Technology Inc.

; Branch to prolog

movlw HIGH _T0CKI_prolog

movwf PCLATH

movlw LOW _T0CKI_prolog

movwf PCL

;-----------------------------------------------------------;

;***********************************************************;

_PIV_sec CODE H’4020’

;-----------------------------------------------------------;

; Save ALUSTA

movpf ALUSTA, save_ALUSTA ; must save ALUSTA before others

movpf WREG, save_WREG ; temporarily save off WREG

; Branch to prolog

movlw HIGH _PIV_prolog

movwf PCLATH

movlw LOW _PIV_prolog

movwf PCL

;-----------------------------------------------------------;

;***********************************************************;

InterruptCode CODE

;-----------------------------------------------------------;

_INT_prolog

;Save BSR and WREG

movfp BSR, PCLATH

clrf BSR, 1

movpf PCLATH, save_BSR

;Service the interrupt by calling the interrupt

;handling function

goto _INT_2

_INT_1

BANKSEL fpINT

movfp fpINT+1, PCLATH

movfp fpINT, PCL

_INT_2

call _INT_1 ; push address of next instruction on stack

;Restore WREG and BSR

clrf BSR, 1 ;BSR was saved in bank 0

movfp save_BSR, BSR ;Now restore it

movfp save_WREG, WREG ;and WREG as well.

;Restore PCLATH and ALUSTA

movfp save_PCLATH, PCLATH

movfp save_ALUSTA, ALUSTA

;Return from interrupt

RETFIE

;-----------------------------------------------------------;

;-----------------------------------------------------------;

_TMR0_prolog

Advertising