单片机指令大全(精简)

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

一、数据传送类指令
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

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值