A-115
INSTRUCTION SET REFERENCE
RETI
Function:
Return from interrupt
Description:
This instruction pops two or four bytes from the stack, depending on the INTR bit in the
CONFIG1 register.
If INTR = 0, RETI pops the high and low bytes of the PC successively from the stack and
uses them as the 16-bit return address in region FF:. The stack pointer is decremented by
two. No other registers are affected, and neither PSW nor PSW1 is automatically restored to
its pre-interrupt status.
If INTR = 1, RETI pops four bytes from the stack: PSW1 and the three bytes of the PC. The
three bytes of the PC are the return address, which can be anywhere in the 16-Mbyte
memory space. The stack pointer is decremented by four. PSW1 is restored to its pre-
interrupt status, but PSW is not restored to its pre-interrupt status. No other registers are
affected.
For either value of INTR, hardware restores the interrupt logic to accept additional interrupts
at the same priority level as the one just processed. Program execution continues at the
return address, which normally is the instruction immediately after the point at which the
interrupt request was detected. If an interrupt of the same or lower priority is pending when
the RETI instruction is executed, that one instruction is executed before the pending
interrupt is processed.
Flags:
Example:
INTR = 0. The stack pointer contains 0BH. An interrupt was detected during the instruction
ending at location 0122H. On-chip RAM locations 0AH and 0BH contain 01H and 23H,
respectively. After executing the instruction
RETI
the stack pointer contains 09H and program execution continues at location 0123H.
Binary Mode
Source Mode
Bytes:
1
1
States (INTR = 0):
9
9
States (INTR = 1):
12
12
Hex Code in:
Binary Mode = [Encoding]
Source Mode = [Encoding]
Operation for INTR = 0:
RETI
(PC).15:8
←
((SP))
(SP)
←
(SP) – 1
(PC).7:0
←
((SP))
(SP)
←
(SP) – 1
CY
AC
OV
N
Z
—
—
—
—
—
[Encoding]
0 0 1 1
0 0 1 0
Summary of Contents for 8XC251SA
Page 2: ......
Page 3: ...May 1996 8XC251SA 8XC251SB 8XC251SP 8XC251SQ Embedded Microcontroller User s Manual...
Page 18: ......
Page 19: ...1 Guide to This Manual...
Page 20: ......
Page 30: ......
Page 31: ...2 Architectural Overview...
Page 32: ......
Page 41: ...3 Address Spaces...
Page 42: ......
Page 63: ...4 Device Configuration...
Page 64: ......
Page 81: ...5 Programming...
Page 82: ......
Page 102: ......
Page 103: ...6 Interrupt System...
Page 104: ......
Page 120: ......
Page 121: ...7 Input Output Ports...
Page 122: ......
Page 132: ......
Page 133: ...8 Timer Counters and Watchdog Timer...
Page 134: ......
Page 153: ...9 Programmable Counter Array...
Page 154: ......
Page 170: ......
Page 171: ...10 Serial I O Port...
Page 172: ......
Page 187: ...11 Minimum Hardware Setup...
Page 188: ......
Page 197: ...12 Special Operating Modes...
Page 198: ......
Page 206: ......
Page 207: ...13 External Memory Interface...
Page 208: ......
Page 239: ...14 Programming and Verifying Nonvolatile Memory...
Page 240: ......
Page 250: ......
Page 251: ...A Instruction Set Reference...
Page 252: ......
Page 390: ......
Page 391: ...B Signal Descriptions...
Page 392: ......
Page 400: ......
Page 401: ...C Registers...
Page 402: ......
Page 436: ......
Page 437: ...Glossary...
Page 438: ......
Page 446: ......
Page 447: ...Index...
Page 448: ......
Page 458: ......