Difference between revisions of "Z80 wait instructions"

From MSX Game Library

Line 13: Line 13:
 
| <tt>JR $+2</tt>                || 13 || 2 || None
 
| <tt>JR $+2</tt>                || 13 || 2 || None
 
|-
 
|-
| <tt>BIT 0,(HL)</tt>             || 14 || 2 || Opposite of the bit #0 is written into the Z flag. C is preserved, N is reset, H is set, and S and P/V are undefined.
+
| <tt>INC HL<br/>DEC HL</tt>     || 14 || 2 || None
 
|-
 
|-
 
| <tt>NOP<br/>NOP<br/>NOP</tt>    || 15 || 3 || None
 
| <tt>NOP<br/>NOP<br/>NOP</tt>    || 15 || 3 || None

Revision as of 12:24, 3 March 2024

Z80 instruction set that don't change registers value (except for F and R registers):

Inst. T-S Bytes Flag modification
NOP 5 1 None
CP (HL) 8 1 C, S, and Z flags modified by definition. P/V detects overflow.
NOP
NOP
10 2 None
LD R,A 11 2 C is preserved, H and N are reset, and alters Z and S. P/V is set if interrupts are enabled, reset otherwise.
JR $+2 13 2 None
INC HL
DEC HL
14 2 None
NOP
NOP
NOP
15 3 None
CP (HL)
CP (HL)
16 2 C, S, and Z flags modified by definition. P/V detects overflow.
NOP
NOP
CP (HL)
18 3 C, S, and Z flags modified by definition. P/V detects overflow.
NOP
BIT 0,(HL)
19 3 Opposite of the bit #0 is written into the Z flag. C is preserved, N is reset, H is set, and S and P/V are undefined.
NOP
NOP
NOP
NOP
20 4 None
CP (IY+0) 21 3 C, S, and Z flags modified by definition. P/V detects overflow.
CP (HL)
BIT 0,(HL)
22 3 C, S, and Z flags modified by definition. P/V detects overflow.
Opposite of the bit #0 is written into the Z flag. C is preserved, N is reset, H is set, and S and P/V are undefined.
PUSH AF
POP AF
23 2 None
CP (HL)
CP (HL)
CP (HL)
24 3 C, S, and Z flags modified by definition. P/V detects overflow.
INC (HL)
DEC (HL)
24 2 Preserves C flag, N flag is reset, P/V detects overflow and rest are modified by definition.
C flag preserved, P/V detects overflow and rest modified by definition.
⚠️ Not interrupt safe
NOP
NOP
NOP
NOP
NOP
25 5 None
NOP
CP (IY+0)
26 4 C, S, and Z flags modified by definition. P/V detects overflow.
NOP
CP (HL)
BIT 0,(HL)
27 4 C, S, and Z flags modified by definition. P/V detects overflow.
Opposite of the bit #0 is written into the Z flag. C is preserved, N is reset, H is set, and S and P/V are undefined.
NOP
PUSH AF
POP AF
28 3 None
CP (IY+0)
CP (HL)
29 4 C, S, and Z flags modified by definition. P/V detects overflow.
NOP
INC (HL)
DEC (HL)
29 3 Preserves C flag, N flag is reset, P/V detects overflow and rest are modified by definition.
C flag preserved, P/V detects overflow and rest modified by definition.
⚠️ Not interrupt safe
BIT 0,(HL)
CP (HL)
CP (HL)
30 4 Opposite of the bit #0 is written into the Z flag. C is preserved, N is reset, H is set, and S and P/V are undefined.
C, S, and Z flags modified by definition. P/V detects overflow.