eZ80
®
CPU
User Manual
UM007714-0908 CPU Instruction Set
112
CALL cc, Mmn
Conditional CALL Subroutine
Operation
if cc {
(SP) ← PC
PC ← Mmn
}
Description
If condition
cc
is true (1), the return address is pushed onto the stack. The return address is
the address of the instruction immediately following this
CALL
instruction. 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 47 provides detailed information.
Table 47. Conditional Operations for CALL cc, Mmn Instruction
ADL Suffix Operation if condition cc is true (1)
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]}.