POP rr
Pop Stack
Operation
if ADL mode {
rr[7:0]← (SPL)
rr[15:8]← (SPL+1)
rr[23:16]← (SPL+2)
SPL ← SPL+3
}
else Z80 mode {
rr[7:0]← (SPS)
rr[15:8]← (SPS+1)
SPS ← SPS+2
}
Description
The rr operand is any of the multibyte CPU registers BC, DE, or HL.
In ADL mode, or when the .L suffix is employed, 3 bytes are popped off the stack begin-
ning at the memory location specified by SPL. The first byte popped off the stack from
SPL is written to the Low byte of the specified register, rr[7:0]. The second byte popped
off the stack from (SPL+1) is written to the High byte of the specified register, rr[15:8].
The third byte popped off the stack from (SPL+2) is written to the upper byte of the speci-
fied register, rr[23:16]. The SPL increments by 3.
In Z80 mode, or when the .S suffix is employed, the first 2 bytes are popped off the stack
beginning at the memory location specified by SPS. The first byte popped off the stack
from (SPS+1) is written to the Low byte of the specified register, rr[7:0]. The second byte
popped off the stack from (SPS+2) is written to the High byte of the specified register,
rr[15:8]. The SPS increments by 2.
Condition Bits Affected
None.
Attributes
Mnemonic Operand
POP
POP.S
POP.L
UM007714-0908
ADL Mode Cycle Opcode (hex)
0/1
rr
1
rr
0
rr
3/4
kk
4
52, kk
5
49, kk
®
eZ80
CPU
User Manual
280
CPU Instruction Set
Need help?
Do you have a question about the eZ80 and is the answer not in the manual?
Questions and answers