51单片机汇编指令速查表

来源:互联网 发布:默默软件 编辑:程序博客网 时间:2024/05/08 01:53

 

51单片机汇编指令速查表

指令格式 功能简述 字节数 周期

一、数据传送类指令
MOV A
Rn 寄存器送累加器
1 1
MOV Rn
A 累加器送寄存器
1 1
MOV A
,@Ri 内部RAM单元送累加器
1 1
MOV
Ri A 累加器送内部RAM单元
1 1
MOV A
#data 立即数送累加器
2 1
MOV A
direct 直接寻址单元送累加器
2 1
MOV direct
A 累加器送直接寻址单元
2 1
MOV Rn
#data 立即数送寄存器
2 1
MOV direct
#data 立即数送直接寻址单元
3 2
MOV
Ri #data 立即数送内部RAM单元
2 1
MOV direct
Rn 寄存器送直接寻址单元
2 2
MOV Rn
direct 直接寻址单元送寄存器
2 2
MOV direct
,@Ri 内部RAM单元送直接寻址单元
2 2
MOV
Ri direct 直接寻址单元送内部RAM单元
2 2
MOV direct2
direct1 直接寻址单元送直接寻址单元
3 2
MOV DPTR
#data16 16位立即数送数据指针
3 2
MOVX A
,@Ri 外部RAM单元送累加器(8位地址
) 1 2
MOVX
Ri A 累加器送外部RAM单元(8位地址
) 1 2
MOVX A
,@DPTR 外部RAM单元送累加器(16位地址
) 1 2
MOVX
DPTR A 累加器送外部RAM单元(16位地址
) 1 2
MOVC A
,@A+DPTR 查表数据送累加器(DPTR为基址
) 1 2
MOVC A
,@A+PC 查表数据送累加器(PC为基址
) 1 2
XCH A
Rn 累加器与寄存器交换
1 1
XCH A
,@Ri 累加器与内部RAM单元交换
1 1
XCHD A
direct 累加器与直接寻址单元交换
2 1
XCHD A
,@Ri 累加器与内部RAM单元低4位交换
1 1
SWAP A
累加器高4位与低4位交换
1 1
POP direct
栈顶弹出指令直接寻址单元
2 2
PUSH direct
直接寻址单元压入栈顶 2 2

二、算术运算类指令
ADD A
Rn 累加器加寄存器
1 1
ADD A
, @Ri 累加器加内部RAM单元
1 1
ADD A
direct 累加器加直接寻址单元
2 1
ADD A
#data 累加器加立即数
2 1
ADDC A
Rn 累加器加寄存器和进位标志
1 1
ADDC A
, @Ri 累加器加内部RAM单元和进位标志
1 1
ADDC A
#data 累加器加立即数和进位标志
2 1
ADDC A
direct 累加器加直接寻址单元和进位标志
2 1
INC A
累加器加
1 1 1
INC Rn
寄存器加
1 1 1
INC direct
直接寻址单元加
1 2 1
INC
Ri 内部RAM单元加
1 1 1
INC DPTR
数据指针加
1 1 2
DA A
十进制调整
1 1
SUBB A
Rn 累加器减寄存器和进位标志
1 1
SUBB A
, @Ri 累加器减内部RAM单元和进位标志
1 1
SUBB A
#data 累加器减立即数和进位标志
2 1
SUBB A
direct 累加器减直接寻址单元和进位标志
2 1
DEC A
累加器减
1 1 1
DEC Rn
寄存器减
1 1 1
DEC
Ri 内部RAM单元减
1 1 1
DEC direct
直接寻址单元减
1 2 1
MUL AB
累加器乘寄存器
B 1 4
DIV AB
累加器除以寄存器B 1 4

三、逻辑运算类指令
ANL A
Rn 累加器与寄存器
1 1
ANL A
, @Ri 累加器与内部RAM单元
1 1
ANL A
#data 累加器与立即数
2 1
ANL A
direct 累加器与直接寻址单元
2 1
ANL direct
A 直接寻址单元与累加器
2 1
ANL direct
#data 直接寻址单元与立即数
3 1
ORL A
Rn 累加器或寄存器
1 1
ORL A
,@Ri 累加器或内部RAM单元
1 1
ORL A
#data 累加器或立即数
2 1
ORL A
direct 累加器或直接寻址单元
2 1
ORL direct
A 直接寻址单元或累加器
2 1
ORL direct
#data 直接寻址单元或立即数
3 1
XRL A
Rn 累加器异或寄存器
1 1
XRL A
,@Ri 累加器异或内部RAM单元
1 1
XRL A
#data 累加器异或立即数
2 1
XRL A
direct 累加器异或直接寻址单元
2 1
XRL direct
A 直接寻址单元异或累加器
2 1
XRL direct
#data 直接寻址单元异或立即数
3 2
RL A
累加器左循环移位
1 1
RLC A
累加器连进位标志左循环移位
1 1
RR A
累加器右循环移位
1 1
RRC A
累加器连进位标志右循环移位
1 1
CPL A
累加器取反
1 1
CLR A
累加器清零 1 1

四、控制转移类指令类
ACCALL addr11 2KB
范围内绝对调用
2 2
AJMP addr11 2KB
范围内绝对转移
2 2
LCALL addr16 2KB
范围内长调用
3 2
LJMP addr16 2KB
范围内长转移
3 2
SJMP rel
相对短转移
2 2
JMP
A+DPTR 相对长转移
1 2
RET
子程序返回
1 2
RET1
中断返回
1 2
JZ rel
累加器为零转移
2 2
JNZ rel
累加器非零转移
2 2
CJNE A
#data rel 累加器与立即数不等转移
3 2
CJNE A
direct rel 累加器与直接寻址单元不等转移
3 2
CJNE Rn
#data rel 寄存器与立即数不等转移
3 2
CJNE
Ri #datarel RAM单元与立即数不等转移
3 2
DJNZ Rn
rel 寄存器减1不为零转移
2 2
DJNZ direct
rel 直接寻址单元减1不为零转移
3 2
NOP
空操作 1 1

五、布尔操作类指令
MOV C
bit 直接寻址位送
C 2 1
MOV bit
C C送直接寻址位
2 1
CLR C C
清零
1 1
CLR bit
直接寻址位清零
2 1
CPL C C
取反
1 1
CPL bit
直接寻址位取反
2 1
SETB C C
置位
1 1
SETB bit
直接寻址位置位
2 1
ANL C
bit C逻辑与直接寻址位
2 2
ANL C
/bit C逻辑与直接寻址位的反
2 2
ORL C
bit C逻辑或直接寻址位
2 2
ORL C
/bit C逻辑或直接寻址位的反
2 2
JC rel C
1转移
2 2
JNC rel C
为零转移
2 2
JB bit
rel 直接寻址位为1转移
3 2
JNB bit
rel 直接寻址为0转移

 

原创粉丝点击