mcs-51單片機指令表(功能、機器碼、字節(jié)數(shù)、機器周期數(shù))
助記符
操作功能
機器碼
字節(jié)數(shù)
機器周期數(shù)
MOVA,Ri
寄存器內(nèi)容送累加器
E8~EF
1
1
MOVRi,A
累加器內(nèi)容送寄存器
F8~FF
1
1
MOVA,@Rj
片內(nèi)RAM內(nèi)容送累加器
E6,E7
1
1
MOV@Rj,A
累加器內(nèi)容送片內(nèi)RAM
F6,F(xiàn)7
1
1
MOVA,direct
直接尋址字節(jié)內(nèi)容送累加器
E5 nn地
2
1
MOVdirect,A
累加器內(nèi)容送直接尋址字節(jié)
F5 nn地
2
1
MOVdirect,Ri
.寄存器內(nèi)容送直接尋址字節(jié)
88~8Fnn地
2
2
MOVRi, direct
直接尋址字節(jié)內(nèi)容送寄存器
A8~Afnn地
2
2
MOVdirect,@Rj
片內(nèi)RAM內(nèi)容送直接尋址字節(jié)
86, 87nn地
2
2
MOV@Rj, direct
直接尋址字節(jié)內(nèi)容送片內(nèi)RAM
A6, A7nn地
2
2
MOVdirect,direct
直接尋址字節(jié)內(nèi)容送另一直接尋址字節(jié)
85 nn地源nn地目的
3
2
MOVA,#data
立即數(shù)送累加器
74nn
2
1
MOVRi, #data
立即數(shù)送寄存器
78~7Fnn
2
1
MOV@Rj, #data
立即數(shù)送片內(nèi)RAMA
76.77nn
2
1
MOVdirect, #data
立即數(shù)送直接尋址字節(jié)
75nn地nn
3
2
MOVDPTR,#data
16位立即數(shù)送數(shù)據(jù)指針寄存器
90nn高nn低
3
2
MOVXA, @Rj
片外RAM內(nèi)容送累加器(8位地址)
E2,E3
1
2
MOVX@Rj,A
累加器內(nèi)容送片外RAM(8位地址)
F2,E3
1
2
MOVXA, @DPTR
片外RAM內(nèi)容送累加器(16位地址)
E0
1
2
MOVX@DPTR,A
累加器內(nèi)容送片外RAM(16位地址)
F0
1
2
MOVCA, @A+DPTR
相對數(shù)據(jù)指針內(nèi)容送累加器
93
1
2
MOVCA,@A+PC
相對程序計數(shù)器內(nèi)容送累加器
83
1
2
XCHA, Ri
累加器與寄存器交換內(nèi)容
C8~CF
1
1
XCHA, @Rj
累加器與片內(nèi)RAM交換內(nèi)容
C6,C7
1
1
XCHA,direct
累加器與直接尋址字節(jié)交換內(nèi)容
C5nn地
2
1
XCHDA,@Rj
累加器與片內(nèi)RAM交換低直接內(nèi)容
D6,D7
1
1
SWAPA
累加器交換高半字節(jié)與低半字節(jié)內(nèi)容
C4
1
1
PUSHdirect
直接尋址字節(jié)內(nèi)容壓入堆棧棧頂
C0nn地
2
2
POPdirect
堆棧棧頂內(nèi)容彈出到直接尋址字節(jié)
D0nn地
2
2
ADDA,Ri
寄存器與累加器內(nèi)容相加
28~2F
1
1
ADDA,@Rj
片內(nèi)RAM與累加器內(nèi)容相加
26,27
1
1
ADDA,direct
直接尋址字節(jié)與累加器內(nèi)容相加
25nn地
2
1
ADDA,#data
立即數(shù)與累加器內(nèi)容相加
24nn地
2
1
ADDCA, Ri
寄存器與累加器與進位位內(nèi)容相加
38~3F
1
1
ADDCA, @Rj
片內(nèi)RAM與累加器與進位位內(nèi)容相加
36,37
1
1
ADDCA,direct
直接尋址字節(jié)與累加器與進位位內(nèi)容相加
35nn地
2
1
ADDCA,#data
立即數(shù)與累加器與進位位內(nèi)容相加
34nn地
2
1
SUBBA,Ri
累加器內(nèi)容減寄存器與進位位內(nèi)容
98~9F
1
1
SUBBA,@Rj
累加器減片內(nèi)RAM與進位位內(nèi)容
96,97
1
1
SUBBA, direct
累加器內(nèi)容減直接尋址字節(jié)與進位位內(nèi)容
95nn地
2
1
SUBBA, #data
累加器內(nèi)容減立即數(shù)與進位位內(nèi)容
94nn地
2
1
INCA
累加器內(nèi)容加1
04
1
1
INCRi
寄存器內(nèi)容加1
08~0F
1
1
INC@Rj
片內(nèi)RAM內(nèi)容加1
06,07
1
1
INCdirect
直接尋址字節(jié)內(nèi)容加1
05nn地
2
1
INCDPTR
數(shù)據(jù)指針寄存器內(nèi)容加1
A3
1
2
DECA
累加器內(nèi)容減1
14
1
1
DECRi
寄存器內(nèi)容減1
18~1F
1
1
DEC@Ri
片內(nèi)RAM內(nèi)容減1
16,17
1
1
DECdirect
直接尋址字節(jié)內(nèi)容減1
15nn地
2
1
DAA
累加器內(nèi)容十進制調整
D4
1
1
MULAB
累加器內(nèi)容乘寄存器B內(nèi)容
A4
1
4
DIVAB
累加器內(nèi)容除寄存器B內(nèi)容
84
1
4
ANLA,Ri
寄存器內(nèi)容與累加器內(nèi)容
58~5F
1
1
ANLA,@Rj
片內(nèi)RAM與累加器內(nèi)容
56,57
1
1
ANLA, direct
直接尋址字節(jié)內(nèi)容與累加器內(nèi)容
55nn地
2
1
ANLdirect,A
累加器內(nèi)容與直接尋址字節(jié)內(nèi)容
52nn地
2
1
ANLA, #data
立即數(shù)與累加器內(nèi)容
54nn地
2
1
ANLdirect, #data內(nèi)容來自單片機之家www.dpj100.com
立即數(shù)與直接尋址字節(jié)內(nèi)容
53nn地nn
3
2
ORLA, Ri
寄存器內(nèi)容或累加器內(nèi)容
48~4F
1
1
ORLA, @Rj
片內(nèi)RAM內(nèi)容或累加器內(nèi)容
46,47
1
1
ORLA, direct
直接尋址字節(jié)內(nèi)容或累加器內(nèi)容
45nn地
2
1
ORLdirect, A
累加器內(nèi)容或直接尋址字節(jié)內(nèi)容
42nn地
2
1
ORLA, #data
立即數(shù)或累加器內(nèi)容
44nn地
2
1
ORLdirect, #data
立即數(shù)內(nèi)容或直接尋址字節(jié)內(nèi)容
43nn地nn
3
2
XRLA,Ri
寄存器內(nèi)容異或累加器內(nèi)容
68~6F
1
1
XRLA,@Rj
片內(nèi)RAM內(nèi)容異或累加器內(nèi)容
66,67
1
1
XRLA,direct
直接尋址字節(jié)內(nèi)容異或累加器內(nèi)容
65nn地
2
1
XRLdirect, A
累加器內(nèi)容異或直接尋址字節(jié)內(nèi)容
62nn地
2
1
XRLA, #data
立即數(shù)異或累加器內(nèi)容
64nn地
2
1
XRLdirect, #data
立即數(shù)異或直接尋址字節(jié)內(nèi)容
63nn地nn
3
2
CPLA
累加器內(nèi)容取反內(nèi)容來自單片機之家www.dpj100.com
F4
1
1
CLRA
累加器內(nèi)容清零
E4
1
1
RLA
累加器內(nèi)容向左環(huán)移一位
23
1
1
RRA
累加器內(nèi)容向右環(huán)移一位
03
1
1
RLCA
累加器內(nèi)容帶進位位向左環(huán)移一位
33
1
1
RRCA
累加器內(nèi)容帶進位位向右環(huán)移一位
13
1
1
AJMPaddr11
絕對轉移(2KB地址內(nèi))
01~E1nn地
2
2
LJMPaddr16
長轉移(64KB地址內(nèi))
02nn高nn低
3
2
SJMPrel
相對短轉移(-128~+127B地址內(nèi))
80nn相對
2
2
JMP@A+DPTR
相對長轉移(64KB地址內(nèi))
73
1
2
JZrel
累加器內(nèi)容為零轉移
60nn相對
2
2
JNZrel
累加器內(nèi)容不為零轉移
70nn相對
2
2
CJNEA, direct, rel
累加器內(nèi)容與直接尋址字節(jié)內(nèi)容不等轉移
B5nn地nn相對
3
2
CJNEA, #data, rel
累加器內(nèi)容與立即數(shù)不等轉移
B4nn nn相對
3
2
CJNERi, #data, rel
寄存器內(nèi)容與立即數(shù)不等轉移
B8~BFnn nn相對
3
2
CJNE@Rj, #data, rel
片內(nèi)RAM內(nèi)容與立即數(shù)不等轉移
B6,B7nn nn相對
3
2
DJNZRi, rel
寄存器內(nèi)容減1不為零轉移
D8~DFnn相對
2
2
DJNZdirect, rel
直接尋址字節(jié)內(nèi)容減1不為零轉移
D5nn地nn相對
3
2
ACALLaddr11
絕對調子(2KB地址內(nèi))
11~F1nn地
2
2
LACALLaddr16
長調子(64KB地址內(nèi))
12nn高nn低
3
2
RET
返主
22
1
2
RETI
中斷返主
32
1
2
NOP
空操作
00
1
1
MOVC,bit
直接尋址位內(nèi)容送進位位
A2nn位
2
1
MOVbit, C
進位位內(nèi)容送直接尋址位
92nn位
2
1
CPLC
進位位取反
B3
1
1
CLRC
進位位清零
C3
1
1
SETBC
進位位置位內(nèi)容來自單片機之家www.dpj100.com
D3
1
1
CPLbit
直接尋址位去反
B2nn位
2
1
CLRbit
直接尋址位清零
C2nn位
2
1
SETBbit
直接尋址位置位
D2nn位
2
1
ANLC, bit
直接尋址位內(nèi)容與進位位內(nèi)容
82nn位
2
2
ORLC, bit
直接尋址位內(nèi)容或進位位內(nèi)容
72nn位
2
2
ANLC, /bit
直接尋址位內(nèi)容的反與進位位內(nèi)容
B0nn位
2
2
ORLC, /bit
直接尋址為內(nèi)容的反或進位位內(nèi)容
A0nn位
2
2
JCrel
進位位為轉移1
40nn相對
2
2
JNCrel
進位位不為1轉移
50nn相對
2
2
JBbit, rel
直接尋址位為轉移
20nn位nn相對
3
2
JNBbit, rel
直接尋址位不為1轉移
30nn位nn相對
3
2
JBCbit, rel
直接尋址位為1轉移且該位清零
10nn位nn相對
3
2