Карта регістрів та адресів окремих біт в блоці регістрів спеціальних функцій (РСФ).
Регі-
стри
Ад-
рес
Блок РСФ
D7
D6
D5
D4
D3
D2
D1
D0
B
FOh
F7
F6
F5
F4
F3
F2
F1
F0
A
EOh
E7
E6
E5
E4
E3
E2
E1
E0
PSW
DOh
D7
D6
D5
D4
D3
D2
D1
D0
IP
B8h
-
-
-
BC
BB
BA
B9
B8
P3
B0h
B7
B6
B5
B4
B3
B2
B1
B0
IE
A8h
AF
-
-
AC
AB
AA
A9
A8
P2
A0h
A7
A6
A5
A4
A3
A2
A1
A0
Sbuf
99h
-
-
-
-
-
-
-
-
Scon
98h
9F
9E
9D
9C
9B
9A
99
98
P1
90h
97
96
95
94
93
92
91
90
TH1
8Dh
-
-
-
-
-
-
-
-
TH0
8Ch
-
-
-
-
-
-
-
-
TL1
8Bh
-
-
-
-
-
-
-
-
TL0
8Ah
-
-
-
-
-
-
-
-
Tmod
89h
-
-
-
-
-
-
-
-
Tcon
88h
8F
8E
8D
8C
8B
8A
89
88
Pcon
87h
-
-
-
-
-
-
-
-
DPH
83h
-
-
-
-
-
-
-
-
DPL
82h
-
-
-
-
-
-
-
-
SP
81h
-
-
-
-
-
-
-
-
P0
80h
87
86
85
84
83
82
81
80
Команди переміщення даних.
МНЕМОКОД
КОП
Т
В
С
АЛГОРИТМ
MOV A,Rn
MOV A,ad
MOV A,@Ri
MOV A,#d
MOV Rn,A
MOV Rn,ad
MOV Rn,#d
MOV ad,A
MOV ad,Rn
MOV add,ads
MOV ad,@Ri
MOV ad,#d
MOV @Ri,A
MOV @Ri,ad
MOV @Ri,#d
MOV DPTR,#d16
MOVC A,@A+DPTR
MOVC A,@A+PC
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
PUSH ad
POP ad
XCH A,Rn
XCH A,ad
XCH A,@Ri
XCHD A,@Ri
11101rrr
11100101
1110011i
01110100
11111rrr
10101rrr
01111rrr
11110101
10001rrr
10000101
1000011i
01110101
1111011i
0110011i
0111011i
10010000
10010011
10000011
1110001i
11100000
1111001i
11110000
11000000
11010000
11001rrr
11000101
1100011i
1101011i
1
3
1
2
1
3
2
3
3
9
3
7
1
3
2
13
1
1
1
1
1
1
3
3
1
3
1
1
1
2
1
2
1
2
2
2
2
3
2
3
1
2
2
3
1
1
1
1
1
1
2
2
1
2
1
1
1
1
1
1
1
2
1
1
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
2
1
1
1
1
A=Rn
A=(ad)
A=(Ri)
A=#d
Rn=A
Rn=(ad)
Rn=#d
(ad)=A
(ad)=Rn
(add)=(ads)
(ad)=(Ri)
(ad)=#d
(Ri)=A
(Ri)=(ad)
(Ri)=#d
DPTR=#d16
A=(A+DPTR)
PC=PC+1
A=(A+PC)
A=(Ri)
A=(DPTR)
(Ri)=A
(DPTR)=A
SP=SP+1
(SP)=(ad)
(ad)=(SP)
SP=SP-1
A<=>Rn
A<=>(ad)
A<=>(Ri)
A0-3<=>(Ri0-3)
Команди арифметичних операцій.
МНЕМОКОД
КОП
Т
В
С
АЛГОРИТМ
ADD A,Rn
ADD A,ad
ADD A,@Ri
ADD A,#d
ADDC A,Rn
ADDC A,ad
ADDC A,@Ri
ADDC A,#d
DA A
SUBB A,Rn
SUBB A,ad
SUBB A,@Ri
SUBB A,#d
INC A
INC Rn
INC ad
INC @Ri
INC DPTR
DEC A
DEC Rn
DEC ad
DEC @Ri
MUL AB
DIV AB
00101rrr
00100101
0010011i
00100100
00111rrr
00110101
0011011i
00110100
11010100
10011rrr
10010101
1001011i
10010100
00000100
00001rrr
00000101
0000011i
10100011
00010100
00011rrr
00010101
0001011i
10100100
10000100
1
3
1
2
1
3
1
2
1
1
3
1
2
1
1
3
1
1
1
1
3
1
1
1
1
2
1
2
1
2
1
2
1
1
2
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
4
4
A=A+Rn
A=A+(ad)
A=A+(Ri)
A=A+#d
A=A+Rn+C
A=A+(ad)+C
A=A+(Ri)+C
A=A+#d+C
Двіково-десяткова корекція
A=A-Rn
A=A-(ad)
A=A-(Ri)
A=A-#d
A=A+1
Rn=Rn+1
(ad)=(ad)+1
(Ri)=(Ri)+1
DPTR=DPTR+1
A=A-1
Rn=Rn-1
(ad)=(ad)-1
(Ri)=(Ri)-1
B A = A*B
A.B = A/B
Команди логічних операцій.
МНЕМОКОД
КОП
Т
В
С
АЛГОРИТМ
ANL A,Rn
ANL A,ad
ANL A,@Ri
ANL A,#d
ANL ad,A
ANL ad,#d
ORL A,Rn
ORL A,ad
ORL A,@Ri
ORL A,#d
ORL ad,A
ORL ad,#d
XRL A,Rn
XRL A,ad
XRL A,@Ri
XRL A,#d
XRL ad,A
XRL ad,#d
CLR A
CPL A
SWАP A
RL A
RLC A
RR A
RRC A
01011rrr
01010101
0101011i
01010100
01010010
01010011
01001rrr
01000101
0100011i
01000100
01000010
01000011
01101rrr
01100101
0110011i
01100100
01100010
01100011
11100100
11110100
11000100
00100011
00110011
00000011
00010011
1
3
1
2
3
7
1
3
1
2
3
7
1
3
1
2
3
7
1
1
1
1
1
1
1
1
2
1
2
2
3
1
2
1
2
2
3
1
2
1
2
2
3
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
1
2
1
1
1
1
1
1
1
A=A /\ Rn
A=A /\ (ad)
A=A /\ (Ri)
A=A /\ #d
(ad)=(ad) /\ A
(ad)=(ad) /\ #d
A=A \/ Rn
A=A \/ (ad)
A=A \/ (Ri)
A=A \/ #d
(ad)=(ad) \/ A
(ad)=(ad) \/ #d
A=A (+) Rn
A=A (+) (ad)
A=A (+) (Ri)
A=A (+) #d
(ad)=(ad) (+) A
(ad)=(ad) (+) #d
A=0
A=/A
A0..3<=>A4..7
Циклічний зсув вліво
Зсув вліво через перенос
Циклічний зсув вправо
Зсув вправо через перенос
Команди операцій над бітами.
МНЕМОКОД
КОП
Т
В
С
АЛГОРИТМ
CLR C
CLR bit
SETB C
SETB bit
CPL C
CPL bit
ANL C,bit
ANL C,/bit
ORL C,bit
ORL C,/bit
MOV C,bit
MOV bit,C
11000011
11000010
11010011
11010010
10110011
10110010
10000010
10110000
01110010
10100000
10100010
10010010
1
4
1
4
1
4
4
4
4
4
4
4
1
2
1
2
1
2
2
2
2
2
2
2
1
1
1
1
1
1
2
2
2
2
1
2
C =0
(bit)=0
C =1
(bit)=1
C =/C
(bit)=/(bit)
C =C /\ (bit)
C =C /\ /(bit)
C =C \/ (bit)
C =C \/ /(bit)
C =(bit)
(bit)=C
Команди передачі керування.
МНЕМОКОД
КОП
Т
В
С
АЛГОРИТМ
LJMP ad16
AJMP ad11
SJMP rel
JMP @A+DPTR
JZ rel
JNZ rel
JC rel
JNC rel
JB bit,rel
JNB bit,rel
JBC bit,rel
DJNZ Rn,rel
DJNZ ad,rel
CJNE A,ad,rel
CJNE A,#d,rel
CJNE Rn,#d,rel
СJNE @Ri,#d,rel
LCALL ad16
ACALL ad11
RET
RETI
NOP
00000010
a10a9a8
00001
10000000
01110011
01100000
01110000
01000000
01010000
00100000
00110000
00010000
11011rrr
11010101
10110101
10110100
10111rrr
1011011i
00010010
a10a9a8
10001
00100010
00110010
00000000
12
6
5
1
5
5
5
5
11
11
11
5
8
8
10
10
10
12
6
1
1
1
3
2
2
1
2
2
2
2
3
3
3
2
3
3
3
3
3
3
2
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
Довгий безумовний перехід по всій пам’яті
Безумовний перехід в межах 2кбайт
Безумовний перехід в межах 256байт
Безумовний перехід по непрямому адресу
Перехід, якщо А=0
Перехід, якщо А<>0
Перехід, якщо С=1
Перехід, якщо С=0
Перехід, якщо (bit)=1
Перехід, якщо (bit)=0
Перехід, якщо (bit)=1 зі скидом його в нуль
Команда циклу
Команда циклу
Перехід, якщо А<>(ad)
Перехід, якщо А<>#d
Перехід, якщо Rn<>#d
Перехід, якщо (Ri)<>#d
Довгий виклик підпрограми
Виклик підпрограми в межах 2кбайт
Повернення із підпрограми
Повернення із підпрограми обробки переривань
Немає операції