GMS81508B/16B/24B
HYUNDAI MicroElectronics
area for saving registers.
The following method is used to save/restore the general-
purpose registers.
Example: Register save using push and pop instructions
INTxx:
PUSH
PUSH
PUSH
A
X
Y
;SAVE ACC.
;SAVE X REG.
;SAVE Y REG.
16.2 BRK Interrupt
Software interrupt can be invoked by BRK instruction,
which has the lowest priority order.
Interrupt vector address of BRK is shared with the vector
of TCALL 0 (Refer to Program Memory Section). When
BRK interrupt is generated, B-flag of PSW is set to distin-
guish BRK from TCALL 0.
Each processing step is determined by B-flag as shown in
interrupt processing
POP
POP
POP
RETI
Y
X
A
;RESTORE Y REG.
;RESTORE X REG.
;RESTORE ACC.
;RETURN
B-FLAG
=0
General-purpose register save/restore using push and pop
instructions;
BRK or
TCALL0
=1
BRK
INTERRUPT
ROUTINE
RETI
TCALL0
ROUTINE
main task
acceptance of
interrupt
interrupt
service task
saving
registers
RET
restoring
registers
interrupt return
Figure 16-5 Execution of BRK/TCALL0
60
DEC. 1999 Ver 1.04