23.03.2015 Views

eZ80 CPU - writeframeofmind.biz

eZ80 CPU - writeframeofmind.biz

eZ80 CPU - writeframeofmind.biz

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>eZ80</strong> <strong>CPU</strong><br />

User Manual<br />

24<br />

CALL Mmn<br />

CALL Subroutine<br />

Operation<br />

Description<br />

(SP) ← PC<br />

PC ← Mmn<br />

The return address, which follows this instruction, is pushed onto the stack and<br />

then the program counter is loaded with the Mmn operand and execution<br />

continues at that address. The Mmn operand is a 16- or 24-bit address,<br />

depending on the instruction and/or the ADL mode. The low-order byte of the<br />

mn operand is the first byte after the Op Code.<br />

ADL Prefix Operation<br />

0 None Stack 2-byte logical return address using SPS mapped by MBASE.<br />

Keep ADL cleared to 0. Load a 2-byte logical address from the instruction into PC.<br />

1 None Stack 3-byte return address using SPL.<br />

Keep ADL set to 1. Load a 3-byte logical address from the instruction into PC.<br />

0 .IS Stack 2-byte logical return address using SPS mapped by MBASE.<br />

Stack a 00 byte using SPL.<br />

Keep ADL cleared to 0. Load a 2-byte logical address from the instruction into PC.<br />

1 .IS Stack 2 LS bytes of the return address using SPS mapped by MBASE.<br />

Stack the MS byte of the return address using SPL.<br />

Stack a 01 byte using SPL.<br />

Clear ADL to 0. Load a 2-byte logical address from the instruction into PC.<br />

0 .IL Stack 2-byte logical return address using SPL.<br />

Stack a 00 byte using SPL.<br />

Set ADL to 1. Load a 3-byte address from the instruction into PC.<br />

1 .IL Stack 3-byte return address using SPL.<br />

Stack a 01 byte using SPL.<br />

Keep ADL set to 1. Load a 3-byte address from the instruction into PC.<br />

Condition Bits Affected<br />

None<br />

Mnemonic Operands ADL Mode Cycles Op Codes<br />

CALL mn 0 5 CD, mn, mn<br />

CALL Mmn 1 7 CD, mn, mn, MM<br />

CALL.IS mn 0 7 40, CD, mn, mn<br />

CALL.IS mn 1 8 49, CD, mn, mn<br />

CALL.IL Mmn 0 8 52, CD, mn, mn, MM<br />

CALL.IL Mmn 1 9 5B, CD, mn, mn, MM<br />

UM007701-1100

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!