Instruction Set
3-57
RISC 16−Bit CPU
RETI Return from interrupt
Syntax RETI
Operation TOS → SR
SP + 2 → SP
TOS → PC
SP + 2 → SP
Description The status register is restored to the value at the beginning of the interrupt
service routine by replacing the present SR contents with the TOS contents.
The stack pointer (SP) is incremented by two.
The program counter is restored to the value at the beginning of interrupt
service. This is the consecutive step after the interrupted program flow.
Restoration is performed by replacing the present PC contents with the TOS
memory contents. The stack pointer (SP) is incremented.
Status Bits N: restored from system stack
Z: restored from system stack
C: restored from system stack
V: restored from system stack
Mode Bits OSCOFF, CPUOFF, and GIE are restored from system stack.
Example Figure 3−13 illustrates the main program interrupt.
Figure 3−13. Main Program Interrupt
PC −6
PC −4
PC −2
PC
PC +2
PC +4
PC +6
PC +8
PC = PCi
PCi +2
PCi +4
PCi +n−4
PCi +n−2
PCi +n
Interrupt Request
Interrupt Accepted
PC+2 is Stored
Onto Stack
RETI