EasyManua.ls Logo

ZiLOG eZ80 User Manual

Default Icon
411 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #35 background imageLoading...
Page #35 background image
eZ80
®
CPU
User Manual
UM007714-0908 Memory Mode Switching
26
The memory mode can be changed by adding a suffix to a CALL, JP, RST, or RET,
RETI, or, RETN instruction. Tables 14 through 20 describe how each of these 4 instruc-
tions function. The individual instructions may perform additional operations that are not
described here. These tables are focused only on the memory mode switching. For more
detailed information, see eZ80
®
CPU Instruction Set Description on page 77.
Table 14. CALL Mmn Instruction
User Code
ADL
Mode
Assembled
Code Operation
CALL mn 0 CALL mn
assembles to
CD nn mm
The starting program counter is {MBASE,
PC[15:0]}. Push the 2-byte return address
PC[15:0] onto the SPS stack. The ADL mode bit
remains cleared to 0. Load 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}.
CALL Mmn 1 CALL Mmn
assembles to
CD nn mm MM
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 3-
byte address {MM, mm, nn} from the instruction
into PC[23:0]. The ending program counter is
PC[23:0] = {MM, mm, nn}.
CALL.IS
mn
0 CALL.SIS mn
assembles to
40 CD nn mm
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 2-byte logical address
{mm, nn} from the instruction into PC[15:0]. The
ending program counter is {MBASE, PC[15:0]}.
CALL.IS
mn
1 CALL.LIS mn
assembles to
49 CD nn mm
The starting program counter is PC[23:0]. Push the
2 LS bytes of the return address, PC[15:0], onto
the {MBASE, SPS} stack. Push the MS byte of the
return address, PC[23:16], onto the SPL stack.
Push a 03h byte onto the SPL stack, indicating a
call from ADL mode (because ADL = 1). Reset the
ADL mode bit to 0. Load 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}.
Question and Answer IconNeed help?

Do you have a question about the ZiLOG eZ80 and is the answer not in the manual?

ZiLOG eZ80 Specifications

General IconGeneral
CPU FamilyeZ80
CoreeZ80
Architecture8-bit
Clock Speedup to 50 MHz
Addressable Memory16 MB
Register Size8-bit
Serial InterfacesUART, SPI, I2C
Operating Temperature-40°C to +85°C
Instruction SetZ80 compatible
On-Chip Flash MemoryUp to 256 KB
On-Chip SRAMUp to 16 KB
Operating Voltage3.0V to 3.6V
Package TypesLQFP, QFP
TimersMultiple timers/counters
Power ConsumptionLow power

Summary

Introduction

Architectural Overview

Memory Modes

Z80 MEMORY Mode

Describes Z80-compatible addressing with 16-bit registers and default operating mode on reset.

ADL MEMORY Mode

Explains ADL mode utilizing 16MB linear addressing and 24-bit registers.

Registers and Bit Flags

eZ80® CPU Working Registers

Details the two banks of working registers: main and alternate.

eZ80® CPU Control Register Definitions

Lists registers controlling CPU operation: I, IX, IY, MBASE.

eZ80® CPU Registers in Z80 Mode

Details CPU registers and bit flags when operating in Z80 mode.

Memory Mode Switching

Mixed-Memory Mode Applications

Interrupts

eZ80® CPU Response to a Nonmaskable Interrupt

Details how the CPU accepts and responds to nonmaskable interrupts (NMIs).

eZ80® CPU Response to a Maskable Interrupt

Describes how the CPU responds to maskable interrupts using Interrupt Modes 0, 1, and 2.

I/O Space

Addressing Modes

CPU Instruction Set

Related product manuals