Arizona Picdem 17 用户手册

下载
页码 92
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