
- •Table of Contents
- •List of Figures
- •List of Tables
- •Manual Objectives
- •About This Manual
- •Intended Audience
- •Manual Organization
- •Related Documents
- •Manual Conventions
- •Safeguards
- •Trademarks
- •Introduction
- •Architectural Overview
- •Processor Description
- •Pipeline Description
- •Memory Modes
- •Z80 MEMORY Mode
- •ADL MEMORY Mode
- •Registers and Bit Flags
- •eZ80® CPU Working Registers
- •eZ80® CPU Control Register Definitions
- •eZ80® CPU Control Bits
- •eZ80® CPU Registers in Z80 Mode
- •eZ80® CPU Registers in ADL Mode
- •eZ80® CPU Status Indicators (Flag Register)
- •Memory Mode Switching
- •ADL Mode and Z80 Mode
- •Memory Mode Compiler Directives
- •Op Code Suffixes for Memory Mode Control
- •Single-Instruction Memory Mode Changes
- •Suffix Completion by the Assembler
- •Assembly of the Op Code Suffixes
- •Persistent Memory Mode Changes in ADL and Z80 Modes
- •Mixed-Memory Mode Applications
- •MIXED MEMORY Mode Guidelines
- •Interrupts
- •Interrupt Enable Flags (IEF1 and IEF2)
- •Interrupts in Mixed Memory Mode Applications
- •eZ80® CPU Response to a Nonmaskable Interrupt
- •eZ80® CPU Response to a Maskable Interrupt
- •Vectored Interrupts for On-Chip Peripherals
- •Illegal Instruction Traps
- •I/O Space
- •Addressing Modes
- •CPU Instruction Set
- •eZ80® CPU Instruction Notations
- •eZ80® CPU Instruction Classes
- •Instruction Summary
- •eZ80® CPU Instruction Set Description
- •CALL cc, Mmn
- •CALL Mmn
- •CPDR
- •CPIR
- •DJNZ d
- •HALT
- •INDM
- •INDMR
- •INDR
- •INDRX
- •INIM
- •INIMR
- •INIR
- •INIRX
- •LDDR
- •LDIR
- •OTDM
- •OTDMR
- •OTDR
- •OTDRX
- •OTIM
- •OTIMR
- •OTIR
- •OTIRX
- •OUTD
- •OUTD2
- •OUTI
- •OUTI2
- •PUSH AF
- •PUSH IX/Y
- •PUSH rr
- •RETI
- •RETN
- •RLCA
- •RRCA
- •RSMIX
- •STMIX
- •TSTIO n
- •Op Code Maps
- •Glossary
- •Index
- •Customer Feedback Form

eZ80® CPU User Manual
338
PUSH AF
Push Stack
Operation
if ADL mode { (SPL–1) ← 00h (SPL–2) ←A (SPL–3) ← F SPL ← SPL–3
}
else Z80 mode { (SPS–1) ←A (SPS–2) ← F SPS ← SPS–2
}
Description
In ADL mode, or when the .L suffix is employed, 3 bytes are pushed onto the memory locations indicated by SPL, in the following sequence:
1.A value of 00h is written to the memory location with address SPL– 1.
2.The CPU writes the contents of the accumulator, A, to the memory location with address SPL–2.
3.The CPU next writes the contents of the Flags Register, F, to the memory location with address SPL–3.
SPL decrements by three.
In Z80 mode, or when the .S suffix is employed, 2 bytes are pushed onto the memory locations indicated by SPS, in the following sequence:
1.The CPU writes the contents of the accumulator, A, to the memory location with address SPS–1.
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |

eZ80® CPU User Manual
339
2.The CPU next writes the contents of the Flags Register, F, to the memory location with address SPS–2.
SPS decrements by two.
Condition Bits Affected
None.
Attributes
Mnemonic |
Operand |
ADL Mode |
Cycle |
Op Code (hex) |
PUSH |
AF |
0/1 |
3/4 |
F5 |
|
|
|
|
|
PUSH.S |
AF |
1 |
4 |
52, F5 |
|
|
|
|
|
PUSH.L |
AF |
0 |
5 |
49, F5 |
|
|
|
|
|
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |

eZ80® CPU User Manual
340
PUSH IX/Y
Push Stack
Operation
if ADL mode {
(SPL–1) ← IX/Y[23:16] (SPL–2) ← IX/Y[15:8] (SPL–3) ← IX/Y[7:0] SPL ← SPL–3
}
else Z80 mode {
(SPS–1) ← IX/Y[15:8] (SPS–2) ← IX/Y[7:0] SPS ← SPS–2
}
Description
In ADL mode, or when the .L suffix is employed, 3 bytes are pushed onto the memory locations indicated by SPL, in the following sequence:
1.The CPU writes the contents of the upper byte of the specified Index Register, IXU or IYU, to the memory location with address SPL–1.
2.The CPU next writes the contents of the High byte of the specified Index Register, IXH or IYH, to the memory location with address SPL–2.
3.The CPU next writes the contents of the Low byte of the specified Index Register, IXL or IYL, to the memory location with address SPL–3.
SPL decrements by three.
In Z80 mode, or when the .S suffix is employed, 2 bytes are pushed onto the memory locations indicated by SPS, in the following sequence:
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |

eZ80® CPU User Manual
341
1.The CPU writes the contents of the High byte of the specified Index Register, IXH or IYH, to the memory location with address SPS–1.
2.The CPU next writes the contents of the Low byte of the specified Index Register, IXL or IYL, to the memory location with address SPS–2.
SPS decrements by two.
Condition Bits Affected
None.
Attributes
Mnemonic |
Operand |
ADL Mode |
Cycle |
Op Code (hex) |
PUSH |
IX |
0/1 |
4/5 |
DD, E5 |
|
|
|
|
|
PUSH.S |
IX |
1 |
5 |
52, DD, E5 |
|
|
|
|
|
PUSH.L |
IX |
0 |
6 |
49, DD, E5 |
|
|
|
|
|
PUSH |
IY |
0/1 |
4/5 |
FD, E5 |
|
|
|
|
|
PUSH.S |
IY |
1 |
5 |
52, FD, E5 |
|
|
|
|
|
PUSH.L |
IY |
0 |
6 |
49, FD, E5 |
|
|
|
|
|
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |