![background image](http://html1.mh-extra.com/html/rabbit/2000/2000_reference-manual_3109643117.webp)
Instruction Reference Manual
115
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 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 zz
11zz0101
10 (2,2,3,3)
-
-
-
-
(SP-1) = zzh; (SP-2) = zzl; SP = SP-2
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]
RLC (IX+d)
11011101
11001011
----d---
00000110
13 (2,2,2,2,2,3)
f
b
*
*
L
*
(IX+d) = {(IX+d)[6,0],(IX+d)[7]};
CY = (IX+d)[7]
RLC (IY+d)
11111101
11001011
----d---
00000110
13 (2,2,2,2,2,3)
f
b
*
*
L
*
(IY+d) = {(IY+d)[6,0],(IY+d)[7]};
CY = (IY+d)[7]
RLC r
11001011
00000-r-
4 (2,2)
fr
*
*
L
*
r = {r[6,0],r[7]}; CY = r[7]
00000111
2
fr
-
-
-
*
A = {A[6,0],A[7]}; CY = A[7]
RR (HL)
11001011
00011110
10 (2,2,1,2,3)
f
b
*
*
L
*
{(HL),CY} = {CY,(HL)}
RR (IX+d)
11011101
11001011
----d---
00011110
13 (2,2,2,2,2,3)
f
b
*
*
L
*
{(IX+d),CY} = {CY,(IX+d)}
RR (IY+d)
11111101
11001011
----d---
00011110
13 (2,2,2,2,2,3)
f
b
*
*
L
*
{(IY+d),CY} = {CY,(IY+d)}
RR DE
11111011
2
fr
*
*
L
*
{DE,CY} = {CY,DE}
N
RR HL
11111100
2
fr
*
*
L
*
{HL,CY} = {CY,HL}
N
RR IX
11011101
11111100
4 (2,2)
f
*
*
L
*
{IX,CY} = {CY,IX}
N
RR IY
11111101
11111100
4 (2,2)
f
*
*
L
*
{IY,CY} = {CY,IY}
N
RR r
11001011
00011-r-
4 (2,2)
fr
*
*
L
*
{r,CY} = {CY,r}
00011111
2
fr
-
-
-
*
{A,CY} = {CY,A}
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 112: ...108 Rabbit 2000 3000 Microprocessor...
Page 120: ...ii Rabbit 2000 3000 Microprocessor...