20. Instructions in Alphabetical Order With Binary Encoding
Spreadsheet Conventions
ALTD ("A" Column) Symbol Key
|
|
|
|
|
ALTD selects alternate flags
|
|
|
ALTD selects alternate flags and register
|
|
|
ALTD selects alternate register
|
|
|
ALTD operation is a special case
|
IOI and IOE ("I" Column) Symbol Key
|
|
|
|
|
IOI and IOE affect source and destination
|
|
|
IOI and IOE affect destination
|
|
|
IOI and IOE affect source
|
Flag Register Key
|
|
|
|
|
|
|
|
|
|
|
Sign flag affected
|
|
|
|
|
|
Sign flag not affected
|
|
|
|
|
|
Zero flag affected
|
|
|
|
|
|
Zero flag not affected
|
|
|
|
|
|
L/V flag contains logical check result
|
|
|
|
|
|
L/V flag contains arithmetic overflow result
|
|
|
|
|
|
L/V flag is cleared
|
|
|
|
|
|
L/V flag is affected
|
|
|
|
|
|
Carry flag is affected
|
|
|
|
|
|
Carry flag is not affected
|
|
|
|
|
|
Carry flag is cleared
|
|
|
|
|
|
Carry flag is set
|
1
The L/V (logical/overflow) flag serves a dual purpose--L/V is set to 1 for logical operations if any of the four most significant bits of the result are 1, and L/V is reset to 0 if all four of the most significant bits of the result are 0.
|
Symbols
|
|
|
|
|
|
|
Bit select: 000 = bit 0, 001 = bit 1, 010 = bit 2, 011 = bit 3, 100 = bit 4, 101 = bit 5, 110 = bit 6, 111 = bit 7
|
|
|
|
Condition code select: 00 = NZ, 01 = Z, 10 = NC, 11 = C
|
|
|
|
7-bit (signed) displacement. Expressed in two's complement.
|
|
|
|
Word register select destination: 00 = BC, 01 = DE, 10 = HL, 11 = SP
|
|
|
|
Word register select alternate: 00 = BC', 01 = DE', 10 = HL'
|
|
|
|
8-bit (signed) displacement added to PC.
|
|
|
|
Condition code select: 000 = NZ (non zero), 001 = Z (zero), 010 = NC (non carry), 011 = C (carry), 100 = LZ1 (logical zero), 101 = LO2 (logical one), 110 = P (sign plus), 111 = M (sign minus)
|
|
|
|
MSB of a 16-bit constant.
|
|
|
|
16-bit constant.
|
|
|
|
8-bit constant or LSB of a 16-bit constant.
|
|
|
|
Byte register select: 000 = B, 001 = C, 010 = D, 011 = E, 100 = H, 101 = L, 111 = A
|
|
|
|
Word register select (source): 00 = BC, 01 = DE, 10 = HL, 11 = SP
|
|
|
|
Restart address select: 010 = 0020h, 011 = 0030h, 100 = 0040h, 101 = 0050h, 111 = 0070h
|
|
|
|
Word register select: 00 = BC, 01 = DE, 10 = IX, 11 = SP
|
|
|
|
Word register select: 00 = BC, 01 = DE, 10 = IY, 11 = SP
|
|
|
|
Word register select: 00 = BC, 01 = DE, 10 = HL, 11 = AF
|
1
Logical zero if all four of the most significant bits of the result are 0.
2
Logical one if any of the four most significant bits of the result are 1.
|
Instruction Byte 1 Byte 2 Byte 3 Byte 4 clk A I S Z V C
ADC A,(HL) 10001110 5 fr s * * V *
ADC A,(IX+d) 11011101 10001110 ----d--- 9 fr s * * V *
ADC A,(IY+d) 11111101 10001110 ----d--- 9 fr s * * V *
ADC A,n 11001110 ----n--- 4 fr * * V *
ADC A,r 10001-r- 2 fr * * V *
ADC HL,ss 11101101 01ss1010 4 fr * * V *
ADD A,(HL) 10000110 5 fr s * * V *
ADD A,(IX+d) 11011101 10000110 ----d--- 9 fr s * * V *
ADD A,(IY+d) 11111101 10000110 ----d--- 9 fr s * * V *
ADD A,n 11000110 ----n--- 4 fr * * V *
ADD A,r 10000-r- 2 fr * * V *
ADD HL,ss 00ss1001 2 fr - - - *
ADD IX,xx 11011101 00xx1001 4 f - - - *
ADD IY,yy 11111101 00yy1001 4 f - - - *
ADD SP,d 00100111 ----d--- 4 f - - - *
ALTD 01110110 2 - - - -
AND (HL) 10100110 5 fr s * * L 0
AND (IX+d) 11011101 10100110 ----d--- 9 fr s * * L 0
AND (IY+d) 11111101 10100110 ----d--- 9 fr s * * L 0
AND HL,DE 11011100 2 fr * * L 0
AND IX,DE 11011101 11011100 4 f * * L 0
AND IY,DE 11111101 11011100 4 f * * L 0
AND n 11100110 ----n--- 4 fr * * L 0
AND r 10100-r- 2 fr * * L 0
BIT b,(HL) 11001011 01-b-110 7 f s - * - -
BIT b,(IX+d)) 11011101 11001011 ----d--- 01-b-110 10 f s - * - -
BIT b,(IY+d)) 11111101 11001011 ----d--- 01-b-110 10 f s - * - -
BIT b,r 11001011 01-b--r- 4 f - * - -
BOOL HL 11001100 2 fr * * 0 0
BOOL IX 11011101 11001100 4 f * * 0 0
BOOL IY 11111101 11001100 4 f * * 0 0
CALL mn 11001101 ----n--- ----m--- 12 - - - -
CCF 00111111 2 f - - - *
CP (HL) 10111110 5 f s * * V *
CP (IX+d) 11011101 10111110 ----d--- 9 f s * * V *
CP (IY+d) 11111101 10111110 ----d--- 9 f s * * V *
CP n 11111110 ----n--- 4 f * * V *
CP r 10111-r- 2 f * * V *
CPL 00101111 2 r - - - -
DEC (HL) 00110101 8 f b * * V -
DEC (IX+d) 11011101 00110101 ----d--- 12 f b * * V -
DEC (IY+d) 11111101 00110101 ----d--- 12 f b * * V -
DEC IX 11011101 00101011 4 - - - -
DEC IY 11111101 00101011 4 - - - -
DEC r 00-r-101 2 fr * * V -
DEC ss 00ss1011 2 r - - - -
ss= 00-BC, 01-DE, 10-HL, 11-SP
DJNZ j 00010000 --(j-2)- 5 r - - - -
EX (SP),HL 11101101 01010100 15 r - - - -
EX (SP),IX 11011101 11100011 15 - - - -
EX (SP),IY 11111101 11100011 15 - - - -
EX AF,AF' 00001000 2 - - - -
EX DE,HL 11101011 2 s - - - -
EX DE',HL 11100011 2 s - - - -
EX DE,HL' 01110110 11100011 4 s - - - -
EX DE',HL' 01110110 11100011 4 s - - - -
EXX 11011001 2 - - - -
INC (HL) 00110100 8 f b * * V -
INC (IX+d) 11011101 00110100 ----d--- 12 f b * * V -
INC (IY+d) 11111101 00110100 ----d--- 12 f b * * V -
INC IX 11011101 00100011 4 - - - -
INC IY 11111101 00100011 4 - - - -
INC r 00-r-100 2 fr * * V -
INC ss 00ss0011 2 r - - - -
ss= 00-BC, 01-DE, 10-HL, 11-SP
IOE 11011011 2 - - - -
IOI 11010011 2 - - - -
IPSET 0 11101101 01000110 4 - - - -
IPSET 1 11101101 01010110 4 - - - -
IPSET 2 11101101 01001110 4 - - - -
IPSET 3 11101101 01011110 4 - - - -
IPRES 11101101 01011101 4 - - - -
JP (HL) 11101001 4 - - - -
JP (IX) 11011101 11101001 6 - - - -
JP (IY) 11111101 11101001 6 - - - -
JP f,mn 11-f-010 ----n--- ----m--- 7 - - - -
JP mn 11000011 ----n--- ----m--- 7 - - - -
JR cc,e 001cc000 --(e-2)- 5 - - - -
JR e 00011000 --(e-2)- 5 - - - -
Note: If byte following op code is zero, next sequential instruction
is executed. If byte is -2 (11111110) jr is to itself.
LCALL xpc,mn 11001111 ----n--- ----m--- --xpc--- 19 - - - -
LD (BC),A 00000010 7 d - - - -
LD (DE),A 00010010 7 d - - - -
LD (HL),n 00110110 ----n--- 7 d - - - -
LD (HL),r 01110-r- 6 d - - - -
LD (HL+d),HL 11011101 11110100 ----d--- 13 d - - - -
LD (IX+d),HL 11110100 ----d--- 11 d - - - -
LD (IX+d),n 11011101 00110110 ----d--- ----n--- 11 d - - - -
LD (IX+d),r 11011101 01110-r- ----d--- 10 d - - - -
LD (IY+d),HL 11111101 11110100 ----d--- 13 d - - - -
LD (IY+d),n 11111101 00110110 ----d--- ----n--- 11 d - - - -
LD (IY+d),r 11111101 01110-r- ----d--- 10 d - - - -
LD (mn),A 00110010 ----n--- ----m--- 10 d - - - -
LD (mn),HL 00100010 ----n--- ----m--- 13 d - - - -
LD (mn),IX 11011101 00100010 ----n--- ----m--- 15 d - - - -
LD (mn),IY 11111101 00100010 ----n--- ----m--- 15 d - - - -
LD (mn),ss 11101101 01ss0011 ----n--- ----m--- 15 d - - - -
LD (SP+n),HL 11010100 ----n--- 11 - - - -
LD (SP+n),IX 11011101 11010100 ----n--- 13 - - - -
LD (SP+n),IY 11111101 11010100 ----n--- 13 - - - -
LD A,(BC) 00001010 6 r s - - - -
LD A,(DE) 00011010 6 r s - - - -
LD A,(mn) 00111010 ----n--- ----m--- 9 r s - - - -
LD A,EIR 11101101 01010111 4 fr * * - -
LD A,IIR 11101101 01011111 4 fr * * - -
LD A,XPC 11101101 01110111 4 r - - - -
LD dd,(mn) 11101101 01dd1011 ----n--- ----m--- 13 r s - - - -
LD dd',BC 11101101 01dd1001 4 - - - -
LD dd',DE 11101101 01dd0001 4 - - - -
LD dd,mn 00dd0001 ----n--- ----m--- 6 r - - - -
LD bc,mn 00000001 ...
LD de,mn 00010001 ...
LD hl,mn 00100001 ...
LD sp,mn 00110001 ...
LD EIR,A 11101101 01000111 4 - - - -
LD HL,(HL+d) 11011101 11100100 ----d--- 11 r s - - - -
LD HL,(IX+d) 11100100 ----d--- 9 r s - - - -
LD HL,(IY+d) 11111101 11100100 ----d--- 11 r s - - - -
LD HL,(mn) 00101010 ----n--- ----m--- 11 r s - - - -
LD HL,(SP+n) 11000100 ----n--- 9 r - - - -
LD HL,IX 11011101 01111100 4 r - - - -
LD HL,IY 11111101 01111100 4 r - - - -
LD IIR,A 11101101 01001111 4 - - - -
LD IX,(mn) 11011101 00101010 ----n--- ----m--- 13 s - - - -
LD IX,(SP+n) 11011101 11000100 ----n--- 11 - - - -
LD IX,HL 11011101 01111101 4 - - - -
LD IX,mn 11011101 00100001 ----n--- ----m--- 8 - - - -
LD IY,(mn) 11111101 00101010 ----n--- ----m--- 13 s - - - -
LD IY,(SP+n) 11111101 11000100 ----n--- 11 - - - -
LD IY,HL 11111101 01111101 4 - - - -
LD IY,mn 11111101 00100001 ----n--- ----m--- 8 - - - -
LD r,(HL) 01-r-110 5 r s - - - -
LD r,(IX+d) 11011101 01-r-110 ----d--- 9 r s - - - -
LD r,(IY+d) 11111101 01-r-110 ----d--- 9 r s - - - -
LD r,g 01-r---g 2 r - - - -
LD r,n 00-r-110 ----n--- 4 r - - - -
LD SP,HL 11111001 2 - - - -
LD SP,IX 11011101 11111001 4 - - - -
LD SP,IY 11111101 11111001 4 - - - -
LD XPC,A 11101101 01100111 4 - - - -
LDD 11101101 10101000 10 d - - * -
LDDR 11101101 10111000 6+7i d - - * -
LDI 11101101 10100000 10 d - - * -
LDIR 11101101 10110000 6+7i d - - * -
LDP (HL),HL 11101101 01100100 12 - - - -
LDP (IX),HL 11011101 01100100 12 - - - -
LDP (IY),HL 11111101 01100100 12 - - - -
LDP (mn),HL 11101101 01100101 ----n--- ----m--- 15 - - - -
LDP (mn),IX 11011101 01100101 ----n--- ----m--- 15 - - - -
LDP (mn),IY 11111101 01100101 ----n--- ----m--- 15 - - - -
LDP HL,(HL) 11101101 01101100 10 - - - -
LDP HL,(IX) 11011101 01101100 10 - - - -
LDP HL,(IY) 11111101 01101100 10 - - - -
LDP HL,(mn) 11101101 01101101 ----n--- ----m--- 13 - - - -
LDP IX,(mn) 11011101 01101101 ----n--- ----m--- 13 - - - -
LDP IY,(mn) 11111101 01101101 ----n--- ----m--- 13 - - - -
LJP nbr,mn 11000111 ----n--- ----m--- --nbr--- 10 - - - -
LRET 11101101 01000101 13 - - - -
MUL 11110111 12 - - - -
NEG 11101101 01000100 4 fr * * V *
NOP 00000000 2 - - - -
OR (HL) 10110110 5 fr s * * L 0
OR (IX+d) 11011101 10110110 ----d--- 9 fr s * * L 0
OR (IY+d) 11111101 10110110 ----d--- 9 fr s * * L 0
OR HL,DE 11101100 2 fr * * L 0
OR IX,DE 11011101 11101100 4 f * * L 0
OR IY,DE 11111101 11101100 4 f * * L 0
OR n 11110110 ----n--- 4 fr * * L 0
OR r 10110-r- 2 fr * * L 0
POP IP 11101101 01111110 7 - - - -
POP IX 11011101 11100001 9 - - - -
POP IY 11111101 11100001 9 - - - -
POP zz 11zz0001 7 r - - - -
PUSH IP 11101101 01110110 9 - - - -
PUSH IX 11011101 11100101 12 - - - -
PUSH IY 11111101 11100101 12 - - - -
PUSH zz 11zz0101 10 - - - -
RES b,(HL) 11001011 10-b-110 10 d - - - -
RES b,(IX+d) 11011101 11001011 ----d--- 10-b-110 13 d - - - -
RES b,(IY+d) 11111101 11001011 ----d--- 10-b-110 13 d - - - -
RES b,r 11001011 10-b--r- 4 r - - - -
RET 11001001 8 - - - -
RET f 11-f-000 8/2 - - - -
RETI 11101101 01001101 12 - - - -
RL (HL) 11001011 00010110 10 f b * * L *
RL (IX+d) 11011101 11001011 ----d--- 00010110 13 f b * * L *
RL (IY+d) 11111101 11001011 ----d--- 00010110 13 f b * * L *
RL DE 11110011 2 fr * * L *
RL r 11001011 00010-r- 4 fr * * L *
RLA 00010111 2 fr - - - *
RLC (HL) 11001011 00000110 10 f b * * L *
RLC (IX+d) 11011101 11001011 ----d--- 00000110 13 f b * * L *
RLC (IY+d) 11111101 11001011 ----d--- 00000110 13 f b * * L *
RLC r 11001011 00000-r- 4 fr * * L *
RLCA 00000111 2 fr - - - *
RR (HL) 11001011 00011110 10 f b * * L *
RR (IX+d) 11011101 11001011 ----d--- 00011110 13 f b * * L *
RR (IY+d) 11111101 11001011 ----d--- 00011110 13 f b * * L *
RR DE 11111011 2 fr * * L *
RR HL 11111100 2 fr * * L *
RR IX 11011101 11111100 4 f * * L *
RR IY 11111101 11111100 4 f * * L *
RR r 11001011 00011-r- 4 fr * * L *
RRA 00011111 2 fr - - - *
RRC (HL) 11001011 00001110 10 f b * * L *
RRC (IX+d) 11011101 11001011 ----d--- 00001110 13 f b * * L *
RRC (IY+d) 11111101 11001011 ----d--- 00001110 13 f b * * L *
RRC r 11001011 00001-r- 4 fr * * L *
RRCA 00001111 2 fr - - - *
RST v 11-v-111 [v=2,3,4,5,7 only] 8 - - - -
SBC (IX+d) 11011101 10011110 ----d--- 9 fr s * * V *
SBC (IY+d) 11111101 10011110 ----d--- 9 fr s * * V *
SBC A,(HL) 10011110 5 fr s * * V *
SBC A,n 11011110 ----n--- 4 fr * * V *
SBC A,r 10011-r- 2 fr * * V *
SBC HL,ss 11101101 01ss0010 4 fr * * V *
SCF 00110111 2 f - - - 1
SET b,(HL) 11001011 11-b-110 10 b - - - -
SET b,(IX+d) 11011101 11001011 ----d--- 11-b-110 13 b - - - -
SET b,(IY+d) 11111101 11001011 ----d--- 11-b-110 13 b - - - -
SET b,r 11001011 11-b--r- 4 r - - - -
SLA (HL) 11001011 00100110 10 f b * * L *
SLA (IX+d) 11011101 11001011 ----d--- 00100110 13 f b * * L *
SLA (IY+d) 11111101 11001011 ----d--- 00100110 13 f b * * L *
SLA r 11001011 00100-r- 4 fr * * L *
SRA (HL) 11001011 00101110 10 f b * * L *
SRA (IX+d) 11011101 11001011 ----d--- 00101110 13 f b * * L *
SRA (IY+d) 11111101 11001011 ----d--- 00101110 13 f b * * L *
SRA r 11001011 00101-r- 4 fr * * L *
SRL (HL) 11001011 00111110 10 f b * * L *
SRL (IX+d) 11011101 11001011 ----d--- 00111110 13 f b * * L *
SRL (IY+d) 11111101 11001011 ----d--- 00111110 13 f b * * L *
SRL r 11001011 00111-r- 4 fr * * L *
SUB (HL) 10010110 5 fr s * * V *
SUB (IX+d) 11011101 10010110 ----d--- 9 fr s * * V *
SUB (IY+d) 11111101 10010110 ----d--- 9 fr s * * V *
SUB n 11010110 ----n--- 4 fr * * V *
SUB r 10010-r- 2 fr * * V *
XOR (HL) 10101110 5 fr s * * L 0
XOR (IX+d) 11011101 10101110 ----d--- 9 fr s * * L 0
XOR (IY+d) 11111101 10101110 ----d--- 9 fr s * * L 0
XOR n 11101110 ----n--- 4 fr * * L 0
XOR r 10101-r- 2 fr * * L 0
ZINTACK (interrupt) 10 - - - -