MCS 51 指令速查表

MCS 51 指令速查表
 
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
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 ,#data ,rel
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转移
3
2
JBC    bit,rel
直接寻址位为1转移并清该位
3
2
原文地址:https://www.cnblogs.com/ahuo/p/653789.html