|
MCS-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
| |