English
Language : 

PIC17C7XX Datasheet, PDF (39/328 Pages) Microchip Technology – High-Performance 8-Bit CMOS EPROM Microcontrollers with 10-bit A/D
PIC17C7XX
EXAMPLE 6-1: SAVING STATUS AND WREG IN RAM (SIMPLE)
; The addresses that are used to store the CPUSTA and WREG values must be in the data memory
; address range of 1Ah - 1Fh. Up to 6 locations can be saved and restored using the MOVFP
; instruction. This instruction neither affects the status bits, nor corrupts the WREG register.
;
UNBANK1
EQU 0x01A
; Address for 1st location to save
UNBANK2
EQU 0x01B
; Address for 2nd location to save
UNBANK3
EQU 0x01C
; Address for 3rd location to save
UNBANK4
EQU 0x01D
; Address for 4th location to save
UNBANK5
EQU 0x01E
; Address for 5th location to save
; (Label Not used in program)
UNBANK6
EQU 0x01F
; Address for 6th location to save
; (Label Not used in program)
;
:
; At Interrupt Vector Address
PUSH MOVFP ALUSTA, UNBANK1 ; Push ALUSTA value
MOVFP BSR, UNBANK2
; Push BSR value
MOVFP WREG, UNBANK3
; Push WREG value
MOVFP PCLATH, UNBANK4 ; Push PCLATH value
;
:
; Interrupt Service Routine (ISR) code
;
POP
MOVFP UNBANK4, PCLATH ; Restore PCLATH value
MOVFP UNBANK3, WREG
; Restore WREG value
MOVFP UNBANK2, BSR
; Restore BSR value
MOVFP UNBANK1, ALUSTA ; Restore ALUSTA value
;
RETFIE
; Return from interrupt (enable interrupts)
© 1998 Microchip Technology Inc.
DS30289A-page 39