eZ80
®
CPU
User Manual
UM007714-0908 CPU Instruction Set
115
CALL Mmn
CALL Subroutine
Operation
(SP) ← PC
PC ← Mmn
Description
The return address is pushed onto the stack. The return address is the address of the
instruction immediately following this
CALL
instruction. Then the Program Counter
(PC) is loaded with the
Mmn
operand and execution continues at the new PC address. The
Mmn
operand is a 16- or 24-bit address, depending on the instruction suffix and the ADL
mode. Table 49 offers more detailed information.
Table 49. Detail of the CALL Mmn Instruction
ADL Suffix Operation
0 None The starting Program Counter is {MBASE, PC[15:0]}.
Push a 2-byte return address, PC15:0], onto the SPS
stack. The ADL mode bit remains cleared to 0. Load a 2-
byte logical address {mm, nn} from the instruction into
PC[15:0]. The ending Program Counter is {MBASE,
PC[15:0]} = {MBASE, mm, nn}.
1 None The starting Program Counter is PC[23:0]. Push the 3-
byte return address, PC[23:0],onto the SPL stack. The
ADL mode bit remains set to 1. Load a 3-byte address
{MM, mm, nn} from the instruction into PC[23:0]. The
ending Program Counter is PC[23:0] = {MM, mm, nn}.
0 .IS The starting Program Counter is {MBASE, PC[15:0]}
Push the 2-byte logical return address, PC[15:0], onto
the {MBASE, SPS} stack. Push a 02h byte onto the SPL
stack, indicating a call from Z80 mode (because
ADL = 0). The ADL mode bit remains cleared to 0. Load
a 2-byte logical address {mm, nn} from the instruction
into PC[15:0]. The ending Program Counter is {MBASE,
PC[15:0]}.