Opcodes

Instruction Set

Instruction Notation Summary

Notation Description
r Identifies any of the registers A, B, C, D, E, H or L
(HL) Identifies the contents of the memory location whose address is specified by the contents of the HL register pair.
(IX + d) Identifies the contents of the memory location, whose address is specified by the contents of the Index register pair IX plus the signed displacement d
(IY + d) Identifies the contents of the memory location, whose address is specified by the contents of the Index register pair IY plus the signed displacement d
n Identifies a one-byte unsigned integer expression in the range (0 to 255)
nn Identifies a two-byte unsigned integer expression in the range (0 to 65535) (0x0000 to 0xFFFF)
b Identifies a one-byte signed integer expression in the range (-128 to +127)
e Identifies a one-byte signed integer expression in the range (-126 to +129) for relative jump offset from current location
cc Identifies the status of the Flag Register as any of ( NZ, Z, NC, C, PO, PE, P or M ) for the conditional jumps, calls, and return instructions
qq Identifies any of the register pairs BC, DE, HL or AF
ss Identifies any of the register pairs BC, DE, HL or SP
pp Identifies any of the register pairs BC, DE, IX or SP
rr Identifies any of the register pairs BC, DE, IY or SP
s Identifies any of r, n, (HL), (IX+d) or (IY+d)
m Identifies any of r, (HL), (IX+d) or (IY+d)

Load

Load registers, data & memory

Arithmetic

Arithmetic

Program Flow

Jump, Call and Return

Stack

Push Pull onto the stack

Rotate and Shift

Rotate Shift instructions

Bit Manipulation

Bit Manipulation instructions

Exchanges

Exchange registers

Block Copy or Search of memory

Copy or search block of memory

Input/Output

Input Output instructions

Miscellaneous Instructions

Miscellaneous instructions

Undocumented Instructions

Undocumented instructions - use with care

Last modified November 14, 2021: Start section about timing (f1be74f)