- •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
313
OTIM
Output to I/O and Increment
Operation
({UU, 00h,C}) ← (HL)
B← B–1
C← C+1 HL ← HL+1
Description
The CPU loads the contents of the memory location specified by the multibyte HL register into CPU memory. The CPU next outputs this byte to the I/O address specified by the C register with the High byte of the address, ADDR[15:8], forced to 0. The upper byte of the address bus, ADDR[23:16] is undefined for I/O addresses. The B register decrements. The C and HL registers increment.
Condition Bits Affected
S |
Undefined. |
Z |
Set if B–1=0; reset otherwise. |
H |
Undefined. |
P/V |
Undefined. |
N |
Set if msb of data is logical 1; reset otherwise. |
C |
Undefined. |
Attributes
Mnemonic |
Operand |
ADL Mode |
Cycle |
Op Code (hex) |
|
OTIM |
— |
X |
5 |
ED, 83 |
|
|
|
|
|
|
|
OTIM.S |
— |
1 |
6 |
52, |
ED, 83 |
|
|
|
|
|
|
OTIM.L |
— |
0 |
6 |
49, |
ED, 83 |
|
|
|
|
|
|
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |
eZ80® CPU User Manual
314
OTIMR
Output to I/O and Increment
Operation
repeat {
({UU, 00h, C}) ← (HL)
B← B–1
C← C+1 HL ← HL+1
}while B ≠ 0
Description
The CPU loads the contents of the memory location specified by the multibyte HL register into CPU memory. The CPU next outputs this byte to the I/O address specified by the C register with the High byte of the address, ADDR[15:8], forced to 0. The upper byte of the address bus, ADDR[23:16] is undefined for I/O addresses. The B register decrements. The C and HL registers increment. The instruction repeats until the B register equals 0.
Condition Bits Affected
S |
Undefined. |
Z |
Set if B–1=0; reset otherwise. |
H |
Undefined. |
P/V |
Undefined. |
N |
Set if msb of data is logical 1; reset otherwise. |
C |
Undefined. |
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |
eZ80® CPU User Manual
315
Attributes
Mnemonic |
Operand |
ADL Mode |
Cycle |
Op Code (hex) |
|
OTIMR |
— |
X |
2 + 3 * B |
ED, 93 |
|
|
|
|
|
|
|
OTIMR.S |
— |
1 |
3 + 3 * B |
52, |
ED, 93 |
|
|
|
|
|
|
OTIMR.L |
— |
0 |
3 + 3 * B |
49, |
ED, 93 |
|
|
|
|
|
|
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |
eZ80® CPU User Manual
316
OTIR
Output to I/O and Increment
Operation
repeat {
({UU, BC[15:0]}) ← (HL) B ← B–1
HL ← HL+1 } while B ≠ 0
Description
The CPU loads the contents of the memory location specified by the multibyte HL register into CPU memory. The CPU next outputs this byte to I/O address {UU, BC[15:0]}. The upper byte of the address bus, ADDR[23:16] is undefined for I/O addresses. The B register decrements and the HL register increments. The instruction repeats until the B register equals 0.
Condition Bits Affected
S Not affected.
Z Set if B–1=0; reset otherwise.
H Not affected.
P/V Not affected.
N Set if msb of data is logical 1; reset otherwise.
C Not affected.
Attributes
Mnemonic |
Operand |
ADL Mode |
Cycle |
Op Code (hex) |
|
OTIR |
— |
X |
2 + 3 * B |
ED, B3 |
|
|
|
|
|
|
|
OTIR.S |
— |
1 |
3 + 3 * B |
52, |
ED, B3 |
|
|
|
|
|
|
OTIR.L |
— |
0 |
3 + 3 * B |
49, |
ED, B3 |
|
|
|
|
|
|
UM007712-0503 |
PRELIMINARY |
CPU Instruction Set |