Instruction Reference Manual 165
LDP IY,(mn) 11111101 01101101 ----n--- ----m--- 13 (2,2,2,2,1,2,2) - - - -
IYL = (mn); IYH = (mn+1). (Addr[19:16] =
A[3:0])
N
LJP x,mn 11000111 ----n--- ----m--- ---x---- 10 (2,2,2,2,2) - - - - XPC = x; PC = mn N
LRET 11101101 01000101 13 (2,2,1,2,2,2,2) - - - -
PCL = (SP); PCH = (SP+1); XPC =
(SP+2); SP = SP+3
N
LSDR 11101101 11111000 6+7i (2,2,1,(2,3,2)i,1) s - - * -
(DE)=(HL);BC=BC-1;DE=DE-1;
HL = HL-1; repeat while BC != 0
LSDDR 11101101 11011000 6+7i (2,2,1,(2,3,2)i,1) s - - * -
(DE)=(HL);BC=BC-1;DE=DE-1;
repeat while BC != 0
LSIDR 11101101 11010000 6+7i (2,2,1,(2,3,2)i,1) s - - * -
(DE)=(HL);BC=BC-1;DE=DE+1;
repeat while BC != 0
LSIR 11101101 11110000 6+7i (2,2,1,(2,3,2)i,1) s - - * -
(DE)=(HL);BC=BC-1;DE=DE+1;
HL = HL+1; repeat while BC != 0
MUL 11110111 12 (2,10) - - - - HL:BC = BC * DE N
NEG 11101101 01000100 4(2,2) fr * * V * A=0-A
NOP 00000000 2 - - - - No operation
OR (HL) 10110110 5 (2,1,2) fr s * * L 0 A=A|(HL)
OR (IX+d) 11011101 10110110 ----d--- 9 (2,2,2,1,2) fr s * * L 0 A=A|(IX+d)
OR (IY+d) 11111101 10110110 ----d--- 9 (2,2,2,1,2) fr s * * L 0 A=A|(IY+d)
OR HL,DE 11101100 2 fr * * L 0 HL = HL | DE N
OR IX,DE 11011101 11101100 4(2,2) f * * L 0 IX = IX | DE N
OR IY,DE 11111101 11101100 4(2,2) f * * L 0 IY = IY | DE N
OR n 11110110 ----n--- 4(2,2) fr * * L 0 A=A|n
OR r 10110-r- 2 fr * * L 0 A=A|r
POP IP 11101101 01111110 7 (2,2,1,2) - - - - IP = (SP); SP = SP+1 NP
POP IX 11011101 11100001 9 (2,2,1,2,2) - - - - IXL = (SP); IXH = (SP+1); SP = SP+2
POP IY 11111101 11100001 9 (2,2,1,2,2) - - - - IYL = (SP); IYH = (SP+1); SP = SP+2
POP SU 11101101 01101110 9 (2,2,2,3) - - - - SU = (SP); SP = SP+1 P
POP zz 11zz0001 7 (2,1,2,2) r - - - - zzl = (SP); zzh = (SP+1); SP = SP+2
PUSH IP 11101101 01110110 9 (2,2,2,3) - - - - (SP-1) = IP; SP = SP-1 N
PUSH IX 11011101 11100101 12 (2,2,2,3,3) - - - - (SP-1) = IXH; (SP-2) = IXL; SP = SP-2
PUSH IY 11111101 11100101 12 (2,2,2,3,3) - - - - (SP-1) = IYH; (SP-2) = IYL; SP = SP-2
PUSH SU 11101101 01100110 9 (2,2,2,3) - - - - (SP-1) = SU; SP = SP-1 P
PUSH zz 11zz0101 10 (2,2,3,3) - - - - (SP-1) = zzh; (SP-2) = zzl; SP = SP-2
RDMODE 11101101 01111111 4(2,2) - - - • CF = SU[0] P
RES b,(HL) 11001011 10-b-110 10 (2,2,1,2,3) d - - - - (HL) = (HL) & ~bit
RES b,(IX+d) 11011101 11001011 ----d--- 10-b-110 13 (2,2,2,2,2,3) d - - - - (IX+d) = (IX+d) & ~bit
RES b,(IY+d) 11111101 11001011 ----d--- 10-b-110 13 (2,2,2,2,2,3) d - - - - (IY+d) = (IY+d) & ~bit
RES b,r 11001011 10-b--r- 4(2,2) r - - - - r=r&~bit
RET 11001001 8 (2,1,2,2,1) - - - - PCL = (SP); PCH = (SP+1); SP = SP+2
RET f 11-f-000
2
8 (2,1,2,2,1)
- - - -
if {f} PCL = (SP); PCH = (SP+1);
SP = SP+2
RETI 11101101 01001101 12 (2,2,1,2,2,2,1) - - - -
IP = (SP); PCL = (SP+1);
PCH = (SP+2); SP = SP+3
NP
RL (HL) 11001011 00010110 10 (2,2,1,2,3) f b * * L * {CY,(HL)} = {(HL),CY}
RL (IX+d) 11011101 11001011 ----d--- 00010110 13 (2,2,2,2,2,3) f b * * L * {CY,(IX+d)} = {(IX+d),CY}
RL (IY+d) 11111101 11001011 ----d--- 00010110 13 (2,2,2,2,2,3) f b * * L * {CY,(IY+d)} = {(IY+d),CY}
RL DE 11110011 2 fr * * L * {CY,DE} = {DE,CY} N
RL r 11001011 00010-r- 4(2,2) fr * * L * {CY,r} = {r,CY}
RLA 00010111 2 fr - - - * {CY,A} = {A,CY}
RLC (HL) 11001011 00000110 10 (2,2,1,2,3) f b * * L * (HL) = {(HL)[6,0],(HL)[7]}; CY = (HL)[7]
Instruction
Opcode
byte 1
Opcode
byte 2
Opcode
byte 3
Opcode
byte 4
Clock cycles A I S Z LV C Operation N/M/P