MCS-51系列單片機指令速查表
算術(shù)運算指令 (共24條)
機器碼 |
助記符 |
功能 |
對標志影響 |
字節(jié)數(shù) |
周期數(shù) |
|||
P |
OV |
AC |
CY |
|||||
28~2F |
ADD A,Rn |
(A)+(Rn)→A |
√ |
√ |
√ |
√ |
1 |
1 |
25 |
ADD A,direct |
(A)+(direct)→A |
√ |
√ |
√ |
√ |
2 |
1 |
26,27 |
ADD A,@Ri |
(A)+((Ri))→A |
√ |
√ |
√ |
√ |
1 |
1 |
24 |
ADD A,#data |
(A)+ data →A |
√ |
√ |
√ |
√ |
2 |
1 |
38~3F |
ADDC A,Rn |
(A)+(Rn)+Cy →A |
√ |
√ |
√ |
√ |
1 |
1 |
35 |
ADDC A,direct |
(A)+(direct)+ Cy →A |
√ |
√ |
√ |
√ |
2 |
1 |
36,37 |
ADDC A,@Ri |
(A)+((Ri))+Cy →A |
√ |
√ |
√ |
√ |
1 |
1 |
34 |
ADDC A,#data |
(A)+ data +Cy →A |
√ |
√ |
√ |
√ |
2 |
1 |
98~9F |
SUBB A,Rn |
(A)-(Rn)-Cy →A |
√ |
√ |
√ |
√ |
1 |
1 |
95 |
SUBB A,direct |
(A)-(direct)-Cy →A |
√ |
√ |
√ |
√ |
2 |
1 |
96,97 |
SUBB A,@Ri |
(A)-((Ri))-Cy →A |
√ |
√ |
√ |
√ |
1 |
1 |
94 |
SUBB A,#data |
(A)- data - Cy →A |
√ |
√ |
√ |
√ |
2 |
1 |
04 |
INC A |
(A)+ 1 →A |
√ |
× |
× |
× |
1 |
1 |
08~0F |
INC Rn |
(Rn)+ 1→Rn |
× |
× |
× |
× |
1 |
1 |
05 |
INC direct |
(direct)+ 1 →direct |
× |
× |
× |
× |
2 |
1 |
06,07 |
INC @Ri |
((Ri))+ 1 →(Ri) |
× |
× |
× |
× |
1 |
1 |
A3 |
INC DPTR |
(DPTR)+ 1 →DPTR |
× |
× |
× |
× |
1 |
2 |
14 |
DEC A |
(A)- 1 →A |
√ |
× |
× |
× |
1 |
1 |
18~1F |
DEC Rn |
(Rn)- 1→Rn |
× |
× |
× |
× |
1 |
1 |
15 |
DEC direct |
(direct)- 1 →direct |
× |
× |
× |
× |
2 |
1 |
16,17 |
DEC @Ri |
((Ri))- 1 →(Ri) |
× |
× |
× |
× |
1 |
1 |
A4 |
MUL AB |
(A)·(B)→AB |
√ |
× |
× |
√ |
1 |
4 |
84 |
DIV AB |
(A)/(B)→AB |
√ |
× |
× |
√ |
1 |
4 |
D4 |
DA A |
對A進行十進制調(diào)整 |
√ |
√ |
√ |
√ |
1 |
1 |
邏輯運算指令 (共25條)
機器碼 |
助記符 |
功能 |
對標志影響 |
字節(jié)數(shù) |
周期數(shù) |
|||
P |
OV |
AC |
CY |
|||||
58~5F |
ANL A,Rn |
(A)∧(Rn)→A |
√ |
× |
× |
× |
1 |
1 |
55 |
ANL A,direct |
(A)∧(direct)→A |
√ |
× |
× |
× |
2 |
1 |
56,57 |
ANL A,@Ri |
(A)∧((Ri))→A |
√ |
× |
× |
× |
1 |
1 |
54 |
ANL A,#data |
(A)∧ data →A |
√ |
× |
× |
× |
2 |
1 |
52 |
ANL direct,A |
(direct)∧(A)→direct |
× |
× |
× |
× |
2 |
1 |
53 |
ANL direct,#data |
(direct)∧ data →direct |
× |
× |
× |
× |
3 |
2 |
48~4F |
ORL A,Rn |
(A)∨(Rn)→A |
√ |
× |
× |
× |
1 |
1 |
45 |
ORL A,direct |
(A)∨(direct)→A |
√ |
× |
× |
× |
2 |
1 |
46,47 |
ORL A,@Ri |
(A)∨((Ri))→A |
√ |
× |
× |
× |
1 |
1 |
44 |
ORL A,#data |
(A)∨ data →A |
√ |
× |
× |
× |
2 |
1 |
42 |
ORL direct,A |
(direct)∨(A)→direct |
× |
× |
× |
× |
2 |
1 |
43 |
ORL direct,#data |
(direct)∨ data →direct |
× |
× |
× |
× |
3 |
2 |
68~6F |
XRL A,Rn |
(A)⊕(Rn)→A |
√ |
× |
× |
× |
1 |
1 |
65 |
XRL A,direct |
(A)⊕(direct)→A |
√ |
× |
× |
× |
2 |
1 |
66,67 |
XRL A,@Ri |
(A)⊕((Ri))→A |
√ |
× |
× |
× |
1 |
1 |
64 |
XRL A,#data |
(A)⊕ data →A |
√ |
× |
× |
× |
2 |
1 |
62 |
XRL direct,A |
(direct)⊕(A)→direct |
× |
× |
× |
× |
2 |
1 |
63 |
XRL direct,#data |
(direct)⊕ data →direct |
× |
× |
× |
× |
3 |
2 |
E4 |
CLR A |
0 →A |
√ |
× |
× |
× |
1 |
1 |
F4 |
CPL A |
/(A)→A |
× |
× |
× |
× |
1 |
1 |
23 |
RL A |
A循環(huán)左移一位 |
× |
× |
× |
× |
1 |
1 |
33 |
RLC A |
A帶進位循環(huán)左移一位 |
× |
× |
× |
× |
1 |
1 |
03 |
RR A |
A循環(huán)右移一位 |
× |
× |
× |
× |
1 |
1 |
13 |
RRC A |
A帶進位循環(huán)右移一位 |
× |
× |
× |
× |
1 |
1 |
C4 |
SWAP A |
A半字節(jié)交換 |
× |
× |
× |
× |
1 |
1 |
數(shù)據(jù)傳送指令 (共28條)
機器碼 |
助記符 |
功能 |
對標志影響 |
字節(jié)數(shù) |
周期數(shù) |
|||
P |
OV |
AC |
CY |
|||||
E8~EF |
MOV A,Rn |
(Rn)→A |
√ |
× |
× |
× |
1 |
1 |
E5 |
MOV A,direct |
(direct)→A |
√ |
× |
× |
× |
2 |
1 |
E6,E7 |
MOV A,@Ri |
((Ri))→A |
√ |
× |
× |
× |
1 |
1 |
74 |
MOV A,#data |
data →A |
√ |
× |
× |
× |
2 |
1 |
F8~FF |
MOV Rn,A |
(A)→(Rn) |
× |
× |
× |
× |
1 |
1 |
A8--AF |
MOV Rn,direct |
(direct)→Rn |
× |
× |
× |
× |
2 |
2 |
78~7F |
MOV Rn,#data |
data →Rn |
× |
× |
× |
× |
2 |
1 |
F5 |
MOV direct,A |
(A)→direct |
× |
× |
× |
× |
2 |
1 |
88~8F |
MOV direct,Rn |
(Rn)→direct |
× |
× |
× |
× |
2 |
1 |
85 |
MOV direct1,direct2 |
(direct2) →direct1 |
× |
× |
× |
× |
3 |
2 |
86,87 |
MOV direct,@Ri |
((Ri))→direct |
× |
× |
× |
× |
2 |
2 |
75 |
MOV direct,#data |
data→direct |
× |
× |
× |
× |
3 |
2 |
F6,F7 |
MOV @Ri,A |
(A)→(Ri) |
× |
× |
× |
× |
1 |
2 |
A6,A7 |
MOV @Ri,direct |
direct →(Ri) |
× |
× |
× |
× |
2 |
2 |
76,77 |
MOV @Ri,#data |
data →(Ri) |
× |
× |
× |
× |
2 |
2 |
90 |
MOV DPTR,#data16 |
data16 →DPTR |
× |
× |
× |
× |
3 |
1 |
93 |
MOVC A,@A+DPTR |
((A)+(DPTR))→A |
× |
× |
× |
× |
1 |
2 |
83 |
MOVC A,@A+PC |
((A)+(PC))→A |
× |
× |
× |
× |
1 |
2 |
E2,E3 |
MOVX A,@Ri |
((Ri)+P2) →A |
√ |
× |
× |
× |
1 |
2 |
E0 |
MOVX A,@DPTR |
((DPTR)) →A |
√ |
× |
× |
× |
1 |
2 |
F2,F3 |
MOVX @Ri,A |
(A)→(Ri)+(P2) |
√ |
× |
× |
× |
1 |
2 |
F0 |
MOV @DPTR,A |
(A)→(DPTR) |
× |
× |
× |
× |
1 |
2 |
C0 |
PUSH direct |
(SP)+1→SP
|
× |
× |
× |
× |
2 |
2 |
D0 |
POP direct |
((direct))→direct (SP)-1→SP |
× |
× |
× |
× |
2 |
2 |
C8~8F |
XCH A,Rn |
(A)← →(Rn) |
√ |
× |
× |
× |
1 |
1 |
C5 |
XCH A,direct |
(A)← →(direct) |
√ |
× |
× |
× |
2 |
1 |
C6,C7 |
XCH A,@Ri |
(A)← →((Ri)) |
√ |
× |
× |
× |
1 |
1 |
D6,D7 |
XCHD A,@Ri |
(A)0--3← →((Ri))0--3 |
√ |
× |
× |
× |
1 |
1 |
位操作指令 (共12條)
機器碼 |
助記符 |
功能 |
對標志位影響 |
字節(jié)數(shù) |
周期數(shù) |
|||
P |
OV |
AC |
CY |
|||||
C3 |
CLR C |
0 → Cy |
× |
× |
× |
√ |
1 |
1 |
C2 |
CLR bit |
0 → bit |
× |
× |
× |
|
2 |
1 |
D3 |
SETB C |
1 → Cy |
× |
× |
× |
√ |
1 |
1 |
D2 |
SETB bit |
1 → bit |
× |
× |
× |
|
2 |
1 |
B3 |
CPL C |
/(Cy) → Cy |
× |
× |
× |
√ |
1 |
1 |
B2 |
CPL bit |
/(bit) → bit |
× |
× |
× |
|
2 |
1 |
82 |
ANL C,bit |
(Cy)∧ (bit) → Cy |
× |
× |
× |
√ |
2 |
2 |
B0 |
ANL C,/bit |
(Cy)∧ /(bit) → Cy |
× |
× |
× |
√ |
2 |
2 |
72 |
ORL C,bit |
(Cy)∨ (bit) → Cy |
× |
× |
× |
√ |
2 |
2 |
A0 |
ORL C,/bit |
(Cy)∨ /(bit) → Cy |
× |
× |
× |
√ |
2 |
2 |
A2 |
MOV C,bit |
(bit)→ Cy |
× |
× |
× |
√ |
2 |
1 |
92 |
MOV bit,C |
(Cy)→ bit |
× |
× |
× |
√ |
2 |
1 |
控制轉(zhuǎn)移指令 (共22條)
機器碼 |
助記符 |
功能 |
對標志影響 |
字節(jié)數(shù) |
周期數(shù) |
|||
P |
OV |
AC |
CY |
|||||
*1 |
ACALL addr11 |
(PC)+2→PC (SP)+1→SP (PC)L→SP (SP)+1→SP (PC)H→SP addr11→PC10~0 |
× |
× |
× |
× |
2 |
2 |
12 |
LCALL addr16 |
(PC)+2→PC (SP)+1→SP (PC)L→SP (SP)+1→SP (PC)H→SP addr16→PC |
× |
× |
× |
× |
3 |
2 |
22 |
RET |
((SP))→PCH (SP)-1→SP ((SP))→PCL (SP)-1→SP |
× |
× |
× |
× |
1 |
2 |
32 |
RETI |
((SP))→PCH (SP)-1→SP ((SP))→PCL (SP)-1→SP 從中斷返回 |
× |
× |
× |
× |
1 |
2 |
*1 |
AJMP addr11 |
addr11 →PC10~0 |
× |
× |
× |
× |
2 |
2 |
02 |
LJMP addr16 |
addr16 →PC |
× |
× |
× |
× |
3 |
2 |
80 |
SJMP rel |
(PC)+(rel) →PC |
× |
× |
× |
× |
2 |
2 |
73 |
JMP @A+DPTR |
(A)+(DPTR)→PC |
× |
× |
× |
× |
1 |
2 |
60 |
JZ rel |
(PC)+2→PC 若(A)=0,(PC)+(rel)→PC |
× |
× |
× |
× |
2 |
2 |
70 |
JNZ rel |
(PC)+2→PC 若(A)≠0,(PC)+(rel)→PC |
× |
× |
× |
× |
2 |
2 |
40 |
JC rel |
(PC)+2→PC 若(Cy)=1,(PC)+(rel)→PC |
× |
× |
× |
× |
2 |
2 |
50 |
JNC rel |
(PC)+2→PC 若(Cy)=0,(PC)+(rel)→PC |
× |
× |
× |
× |
2 |
2 |
20 |
JB bit,rel |
(PC)+3→PC 若(bit)=1,(PC)+(rel)→PC |
× |
× |
× |
× |
3 |
2 |
30 |
JNB bit,rel |
(PC)+3→PC 若(bit)≠1,(PC)+(rel)→PC |
× |
× |
× |
× |
3 |
2 |
10 |
JBC bit,rel |
(PC)+3→PC 若(bit)=1,0 → bit, (PC)+(rel)→PC |
× |
× |
× |
√ |
3 |
2 |
B5 |
CJNE A,direct,rel |
(PC)+3→PC 若(A)≠(direct),則(PC)+(rel)→PC 若(A)<(direct),則1→Cy |
× |
× |
× |
√ |
3 |
2 |
B4 |
CJNE A,#data,rel |
(PC)+3→PC 若(A)≠data,則(PC)+(rel)→PC 若(A)<DATA,則1→CY< font> |
× |
× |
× |
√ |
3 |
2 |
B8~8F |
CJNE Rn,#data,rel |
(PC)+3→PC 若(Rn)≠data,則(PC)+(rel)→PC 若(Rn)<DATA,則1→CY< font> |
× |
× |
× |
√ |
3 |
2 |
B6,B7 |
CJNE @Ri, #data, rel |
(PC)+3→PC 若((Ri))≠data,則(PC)+(rel)→PC 若((Ri))<DATA,則1→CY< font> |
× |
× |
× |
√ |
3 |
2 |
D8--DF |
DJNZ Rn,rel |
(PC)+2→PC,(Rn)-1→Rn 若(Rn)≠0,則(PC)+(rel)→PC |
× |
× |
× |
× |
3 |
2 |
D5 |
DJNZ direct,rel |
(PC)+2→PC,(direct)-1→direct 若(direct)≠0,則(PC)+(rel)→PC |
× |
× |
× |
× |
3 |
2 |
00 |
NOP |
空操作 |
× |
× |
× |
× |
1 |
1 |
偽指令(共7條)
偽指令 |
功能 |
格式 |
ORG |
規(guī)定本條指令下面的程序和數(shù)據(jù)的起始地址 |
ORG Addr16 |
EQU |
將一個常數(shù)或匯編符號賦給字符名,相當于C語言的define |
字符名 EQU 常數(shù)或匯編符號 |
BIT |
將BIT之后的位地址值賦給字符名 |
字符名 BIT 位地址 |
DB |
從指定的ROM地址單元開始存入DB后面的數(shù)據(jù),這些數(shù)據(jù)可以是用逗號隔開的字節(jié)串或括在單引號中的ASCII字符串 |
DB 8位數(shù)據(jù)表 |
DW |
從指定的ROM地址開始,在連續(xù)的單元中定義雙字節(jié)數(shù)據(jù) |
DW 16位數(shù)據(jù)表 |
DS |
從指令地址開始保留DS之后表達式的值所規(guī)定的存儲單元數(shù),以備后用 |
DS 表達式 |
END |
用來指示源程序到此全部結(jié)束 |
END |
Powered by 單片機教程網(wǎng)