Trang 1/8
TÓM TẮT TẬP LỆNH
GHI CHÚ:Ký hiệu Giải thích
Rn
đònh đòa chỉ thanh ghi sử dụng R0 – R7 của bank
thanh ghi được chọn
direct đòa chỉ 8 bit trong RAM nội (00H - FFH)
@Ri đònh đòa chỉ gián tiếp sử dụng thanh ghi R0 hoặc R1
#data hằng số 8 bit chứa trong lệnh
#data16 hằng số 16 bit chứa trong lệnh
bit đòa chỉ trực tiếp (8 bit) của một bit
rel offset 8 bit có dấu
addr11 đòa chỉ 11 bit trong trang hiện hành
addr16 đòa chỉ 16 bit
source toán hạng nguồn
destination toán hạng đích
←
được thay thế bởi …
(…) nội dung của …
((…)) dữ liệu được trỏ bởi …
i đònh đòa chỉ gián tiếp sử dụng R0 (i=0) hay R1 (i=1)
n
2
n
1
n
7
r
6
…r
1
r
0
đòa chỉ tương đối 8 bit Trang 2/8
NHÓM LỆNH SỐ HỌC
Mã lệnh
Mã gợi nhớ
d
7
d
6
d
5
d
6
1
a
5
0
a
4
0
a
3
1
a
2
0
a
1
1
a
0
25
Byte2
1 (A) ← (A) + (direct)
ADD A, @Ri 0 0 1 0 0 1 1 i 26-27 1 (A) ← (A) + ((Ri))
ADD A, #data 0
d
7
0
d
a
7
0
a
6
1
a
5
1
a
4
0
a
3
1
a
2
0
a
1
1
a
0
35
Byte2
1 (A) ← (A) + (C) + (direct)
ADDC A, @Ri 0 0 1 1 0 1 1 i 36-37 1 (A) ← (A) + (C) + ((Ri))
ADDC A, #data 0
n
0
98-9F 1 (A) ← (A) − (C) − (Rn)
SUBB A, direct 1
a
7
0
a
6
0
a
5
1
a
4
0
a
3
1
a
2
0
a
1
1
a
0
95
INC A 0 0 0 0 0 1 0 0 04 1 (A) ← (A) + 1
INC Rn 0 0 0 0 1 n
2
n
1
n
0
08-0F 1 (Rn) ← (Rn) + 1
INC direct 0
a
7
0
a
6
0
a
5
0
a
4
0
a
3
1
a
2
0
a
4
0
a
3
1
a
2
0
a
1
1
a
0
15
Byte2
1 (direct) ← (direct) − 1
DEC @Ri 0 0 0 1 0 1 1 I 16-17 1 ((Ri)) ← ((Ri)) − 1
MUL AB 1 0 1 0 0 1 0 0 A4 4 (A) ← byte thấp của (A) x (B)
(B) ← byte cao của (A) x (B)
DIV AB 1 0 0 0 0 1 0 0 84 4 (A) ← phần nguyên của (A)/(B)
(B) ← phần dư của (A)/(B)
DA A 1 1 0 1 0 1 0 0 D4 1 Nội dung thanh ghi A là số
BCD
Nếu [(A
3 - 0
) > 9] OR [(AC) = 1]
thì (A
3 - 0
) ← (A
3 - 0
0Mã
Hex
Số
chu
kỳ
máy
Giải thích
ANL A, Rn 0 1 0 1 1 n
2
n
1
n
0
58-5F 1 (A) ← (A) AND (Rn)
Trang 3/8
ANL A, direct 0
a
7
1
a
6
0
a
5
1
d
4
0
d
3
1
d
2
0
d
1
0d
0
54
Byte2
1 (A) ← (A) AND #data
ANL direct, A 0
a
7
1
a
6
0
a
5
1
a
5
d
5
1
a
4
d
4
0
a
3
d
3
0
a
2
d
2
1
a
1
d
1
1
a
0
d
0
a
2
0
a
1
1
a
0
45
Byte2
1 (A) ← (A) OR (direct)
ORL A, @Ri 0 1 0 0 0 1 1 i 46-47 1 (A) ← (A) OR ((Ri))
ORL A, #data 0
d
7
1
d
6
0
d
5
0
d
4
0
d
3
1
d
1
a
1
0
a
0
42
Byte2
1 (direct) ← (direct) OR (A)
ORL direct, #data 0
a
7
d
7
1
a
6
d
6
0
a
5
d
5
0
a
4
1
n
0
68-6F 1 (A) ← (A) XOR (Rn)
XRL A, direct 0
a
7
1
a
6
1
a
5
0
a
4
0
a
3
1
a
2
0
a
1
1
a
0
Byte2
1 (A) ← (A) XOR #data
XRL direct, A 0
a
7
1
a
6
1
a
5
0
a
4
0
a
3
0
a
2
1
a
1
0
a
0
62
a
2
d
2
1
a
1
d
1
1
a
0
d
0
63
Byte2
Byte3
2 (direct) ← (direct) XOR #data
CLR A 1 1 1 0 0 1 0 0 E4 1 (A) ← 0
CPL A 1 1 1 1 0 1 0 0 F4 1
(A) ← (
A
)
RL A 0 0 1 0 0 0 1 1 23 1 Nội dung của thanh ghi A được
quay trái một bit. RLC A 0 0 1 1 0 0 1 1 33 1 Nội dung của thanh ghi A và cờ
C được quay trái một bit .
0
C A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
A
7
A
6
A
5
A
4
A
3
A
2
A
d
5
d
4
d
3
d
2
d
1
d
0
Mã
Hex
Số
chu
kỳ
máy
Giải thích
MOV A, Rn 1 1 1 0 1 n
2
n
1
n
0
E8-EF 1 (A) ← (Rn)
MOV A, direct 1
a
7
1
d
6
1
d
5
1
d
4
0
d
3
1
d
2
0
d
1
0
d
0
74
Byte2
1 (A) ← #data
MOV Rn, A 1 1 1 1 1 n
2
n
1
n
0
A8-AF
Byte2
2 (Rn) ← (direct)
MOV Rn, #data 0
d
7
1
d
6
1
d
5
1
d
4
1
d
3
n
2
d
2
n
1
d
1
n
0
d
F5
Byte2
1 (direct) ← (A)
MOV direct, Rn 1
a
7
0
a
6
0
a
5
0
a
4
1
a
3
n
2
a
2
n
1
a
1
n
0
a
3
1
a
2
a
2
0
a
1
a
1
1
a
0
a
0
85
Byte2
Byte3
2 (direct) ← (direct)
(source)
(destination)
MOV direct, @Ri 1
a
7
0
a
6
d
6
1
a
5
d
5
1
a
4
d
4
0
a
3
d
3
1
a
2
d
2
0
a
1
d
1
1
a
1
i
a
0
A6-A7
Byte2
2 ((Ri)) ← (direct)
MOV @Ri, #data 0
d
7
1
d
6
1
d
5
1
d
4
0
d
3
1
d
2
1
d
1
i
d
3
0
d
2
d
2
0
d
1
d
1
0
d
0
d
0
90
Byte2
Byte3
2 (DPTR) ← #data
15 – 0
(DPH) ← #data
15 – 8
(DPL) ← #data
7 – 0
XCH A, Rn 1 1 0 0 1 n
a
0
C5
Byte2
1 (A) ↔ (direct)
XCH A, @Ri 1 1 0 0 0 1 1
i
C6-C7 1 (A) ↔ ((Ri))
XCHD A, @Ri 1 1 0 1 0 1 1
i
D6-D7 1 (A
3 – 0
) ↔ ((Ri
3 – 0
))
PUSH direct 1
a
7
1
a
6
0
a
5
1
a
4
0
a
3
0
a
2
0
a
1
0
a
0
D0
Byte2
2 (direct) ← ((SP))
(SP) ← (SP) – 1
MOVX A,@Ri 1 1 1 0 0 0 1 i E2-E3 2 (A) ← ((Ri)) RAM ngoài
MOVX A,@DPTR 1 1 1 0 0 0 0 0 E0 2 (A) ← ((DPTR)) RAM ngoài
MOVX @Ri, A 1 1 1 1 0 0 1 i F2-F3 2 ((Ri)) ← (A) RAM ngoài
MOVX @DPTR, A 1 1 1 1 0 0 0 0 F0 2 ((DPTR)) ← (A) RAM ngoài
MOVC A,@A+DPTR 1 0 0 1 0 0 1 1 93 2 (A) ← ((A)+(DPTR))
MOVC A,@A+PC 1 0 0 0 0 0 1 1 83 2 (A) ← ((A)+(PC)) Trang 5/8
NHÓM LỆNH CHUYỂN ĐIỀU KHIỂN
a
10
a
7
a
9
a
6
a
8
a
5
1
a
4
0
a
3
0
a
2
0
a
1
0
a
13
a
5
1
a
12
a
4
0
a
11
a
3
0
a
10
a
2
1
a
9
a
1
) ← ((SP))
(SP) ← (SP) − 1
(PC
7 - 0
) ← ((SP))
(SP) ← (SP) − 1
AJMP addr11 a
10
a
7
a
9
a
6
a
8
a
5
0
a
4
0
a
3
0
a
a
13
a
5
0
a
12
a
4
0
a
11
a
3
0
a
10
a
2
1
a
9
a
1
0
3
0
r
2
0
r
1
0
r
0
80
Byte2
2 (PC) ← (PC) + 2
(PC) ← (PC) + rel
JMP @A+DPTR 0 1 1 1 0 0 1 1 73 2 (PC) ← (A) + (DPTR)
JZ rel 0
r
7
1
r
6
1
r
7
1
r
6
1
r
5
1
r
4
0
r
3
0
r
2
0
r
1
0
r
r
2
0
r
1
0
r
0
40
Byte2
2 (PC) ← (PC) + 2
Nếu (C) = 1
thì (PC) ← (PC) + rel
JNC rel 0
r
7
1
r
6
0
r
5
7
0
b
6
r
6
1
b
5
r
5
0
b
4
r
4
0
b
3
r
3
0
b
2
6
r
6
1
b
5
r
5
1
b
4
r
4
0
b
3
r
3
0
b
2
r
2
0
6
0
b
5
r
5
1
b
4
r
4
0
b
3
r
3
0
b
2
r
2
0
b
1
1
a
5
r
5
1
a
4
r
4
0
a
3
r
3
1
a
2
r
2
0
a
1
r
1
1
d
5
r
5
1
d
4
r
4
0
d
3
r
3
1
d
2
r
2
0
d
1
r
6
1
d
5
r
5
1
d
4
r
4
1
d
3
r
3
n
2
d
2
r
2
n
1
7
0
d
6
r
6
1
d
5
r
5
1
d
4
r
4
0
d
3
r
3
1
d
2
r
6
0
r
5
1
r
4
1
r
3
n
2
r
2
n
1
r
1
n
0
1
a
4
r
4
0
a
3
r
3
1
a
2
r
2
0
a
1
r
1
1
a
0
r
0
0Mã
Hex
Số
chu
kỳ
máy
Giải thích
CLR C 1 1 0 0 0 0 1 1 C3 1 (C) ← 0
CLR bit 1
b
7
1
b
6
0
b
5
0
b
4
0
b
1
b
4
0
b
3
0
b
2
1
b
1
0
b
0
D2
Byte2
1 (bit) ← 1
CPL C 1 0 1 1 0 0 1 1 B3 1
(C) ← (
C
)
CPL bit 1
b
7
Byte2
1
(bit) ← (
bit )
Trang 7/8
ANL C, bit 1
b
7
0
b
6
0
b
5
0
b
4
0
b
3
0
b
2
0
b
2
0
b
1
0
b
0
B0
Byte2
2
(C) ← (C) AND (
bit )
ORL C, bit 0
b
7
1
b
6
1
b
5
1
b
5
0
b
4
0
b
3
0
b
2
0
b
1
0
b
0
A0
Byte2
2
(C) ← (C) OR (
bit )
0
A2
Byte2
1 (C) ← (bit)
MOV bit, C 1
b
7
0
b
6
0
b
5
1
b
4
0
b
3
0
b
2
1
Thanh ghi điều khiển port nối tiếp SCON (được đònh đòa chỉ bit)
MSB LSB
SM0 SM1 SM2 REN TB8 RB8 TI RI
Thanh ghi cho phép ngắt IE (được đònh đòa chỉ bit)
MSB LSB
EA - (ET2) ES ET1 EX1 ET0 EX0
Thanh ghi ưu tiên ngắt IP (được đònh đòa chỉ bit)
MSB LSB
- - (PT2) PS PT1 PX1 PT0 PX0
Thanh ghi trạng thái chương trình PSW (được đònh đòa chỉ bit)
MSB LSB
CY AC F0 RS1 RS0 OV - P
Thanh ghi điều khiển nguồn PCON (không được đònh đòa chỉ bit)
MSB LSB
SMOD - - - GF1 GF0 PD IDL Trang 8/8
TÓM TẮT CÁC LỆNH TÁC ĐỘNG LÊN CỜ
Cờ Lệnh
CY OV AC
Ghi chú
ADD x x x
ADDC x x x
SUBB x x x
MUL AB 0 x - (OV) = 1 nếu kết quả > 0FFH,
ngược lại (OV) = 0
DIV AB 0 x - (OV) = 1 nếu ban đầu (B) = 0,
ngược lại (OV) = 0
thực tế
Sai số
9600 12,000MHz 1 -7 (F9H) 8923 7%
2400 12,000MHz 0 -13 (F3H) 2404 0,16%
1200 12,000MHz 0 -26 (E6H) 1202 0,16%
19200 11,059MHz 0 -3 (FDH) 19200 0
9600 11,059MHz 0 -3 (FDH) 9600 0
2400 11,059MHz 0 -12 (F4H) 2400 0
1200 11,059MHz 0 -24 (E8H) 1200 0