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
11101101
01000101
13 (2,2,1,2,2,2,2)
-
-
-
-
PCL = (SP); PCH = (SP+1); XPC =
(SP+2); SP = SP+3
N
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
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
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
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
11110111
12 (2,10)
-
-
-
-
HL:BC = BC * DE
N
11101101
01000100
4 (2,2)
fr
*
*
V
*
A = 0 - A
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
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
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
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}
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
Summary of Contents for 2000
Page 2: ...ii Rabbit 2000 3000 Microprocessor...
Page 4: ...iv Rabbit 2000 Microprocessor...
Page 16: ...12 Rabbit 2000 3000 Microprocessor...
Page 164: ...160 Instruction Reference Manual...