当前位置:文档之家› MCS51单片机指令表

MCS51单片机指令表

加法
A,Rn
+
A,direct
+
A,@Ri
+
A,#data
+
ADDC A, <byte>
带进位加法
A,Rn
+
A,direct
+
A,@Ri
+
A,#data
+
INC<byte>
加1
A
+1
Rn
+1
direct
+1
@Ri
+1
INC DPTA
INC DPTA
+1
DA A
十进制调整
DA A
减法指令
SUB A,<byte>
CY←CY∨(bit)
C,/bit
CY←CY∨(bit)
位条件转移
判C转移
JCrel
JCrel
C=1,转移→rel
JNCrel
JNCrel
C=0,转移→rel
判位变量转移
JB bitrel
JB bitrel
*=1,转移→rel
JBC bitrel
JBC bitrel
*=1,转移→rel,并清零
JNB bitrel
逻辑乘法
A,Rn
*
A,direct
*
A,@Ri
*
A,#data
*
Direct,A
*
Direct,#data
*
逻辑或
ORL <byte1>,< byte2>
逻辑加法
A,Rn
+
A,direct
+
A,@Ri
+
A,#data
+
Direct,A
+
Direct,#data
+
逻辑异或
XRL <byte1>,< byte2>
A,Rn
A,direct
A,@Ri
XCHDA,@Ri
低字节数据交换
A,@Ri
外部RAM传送指令
MOVX <dest>,<src>
A,@Ri

@Ri,A

A,@DPTA

@DPTA,A

ROM传送令
MOVC A,@A+<基地址寄存器>
A,@A+DPTR

A,@A+PC

加法指令
ADD A, <byte>
位状态控制指令
CLR bit
位清零
C
CY←0
bit
(bit)←0
SETB bit
置1
C
CY←1
bit
(bit)←1
CPL bit
位取反
C
CY←CY
bit
(bit)←(bit)
位逻辑操作指令
ANL C,<源位>
C,bit
CY←CY∧(bit)
C,/bit
CY←CY∧(bit)
ORL C,<源位>
C,bit

@Ri,direct

@R,#data

内部16位数据传送指令
MOV DPTR,#data16
MOV DPTR,#data16
(DPH)←data15~8
(DPL)←data7~0
堆栈指令
PUSH <src>入栈
direct
POP <deet>出栈
direct
数据交换指令
XCH A,<byte>
字节交换
减法
A,Rn
-
A,direct
-
A,@Ri
-
A,#data
-
SUBB A, <byte>
带进位减法
A,Rn
-
A,direct
-
A,@Ri
-
A,#data
-
DEC <byte>
减1
A
-1
Rn
-1
direct
-1
@Ri
-1
乘法指令
MUL
AB
*
除法指令
DIV
AB
/
逻辑与
ANL <byte1>,< byte2>
MCS51汇编语言指令表
内部8位数据传送指令
MOV <dest>,<src>
A,Rn

A,direct

A,@Ri

A,#data

Rn,A

direct,A

@Ri,A

Rn,direct

Rn,#data

direct,Rn

direct1,diect2

direct,@Ri

direct,#data
direct,rel
调用指令
长调用
LCALL addr16
LCALL addr16
绝对调用
ACALL addr11
ACALL addr11
返回指令
子程序返回
RET
RET
中断返回
RETI
RETI
空操作
NOP
NOP
位传送指令
MOV <目的位>,<源位>
C,bit
CY←(bit)
bit,C
(bit)←CY
逻辑半加法
A,Rn
A,direct
A,@Ri
A,#data
Direct,A
Direct,#data
累加器清零
CLR A
CLR A
A←0
累加器取反
CPL A
CPL A
循环右移
RR A
RR A
A7←0
循环左移
RL A
RL A
A7→0
带进位循环右移
RRC A
RRC A
带进位循环右移
RLC A
RLC A
半字节交换
SWAP A
SWAP A
A3~0←→A7~4
无条件转移
长转移
LJMPaddr16
LJMPaddr16
绝对转移
AJMP addr11
AJMP addr11
短转移
SJMPrel
SJMPrel
变位寻址转移
JMP @A+DPTA
JMP @A+DPTA
条件转移
转移判零
JZrel
JZrel
A=0,转移→rel
JNZrel
JNZrel
A≠0,转移→rel
比较转移指令
CJNE<byte1>,<byte2>,rel
A,direct,rel
A≠@A,转移→rel
A,#data,rel
Rn,#data,rel
@Ri,#darta,rel
循环转移
DJNZ <byte>,rel
Rn,rel
A-1≠0,转移→rel
A-1=0,不转移
JNB bitrel
*=0,转移→rel
<dest>目的位,<src>源位,<byte>字节,<direct>直接地址,<rel>相关地址,<DPTR>数据,<$>当前指令地址
中断地址
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
SCON
-
-
-
-
-
-
TI
RI
位地址
-
-
-
-
-
-
99H
89H
IE
EA
-
ET2
ES
ET1
EX1
ET0
EX0位地址Biblioteka AFH-ADH
ACH
ABH
AAH
A9H
A8H
IP
-
-
PT2
PS
PT1
PX1
PT0
PX0
位地址
-
-
BDH
BCH
BBH
BAH
B9H
B8H
相关主题