本文以AT89C51为例,列举51单片机汇编语言指令集。
AT89C51单片机的汇编指令共有111条,可按功能分为5大类:

数据传送类指令28条;
算数操作类指令24条;
逻辑运算类指令25条;
控制转移类17条;
位操作类17条。

在此约定下列指令中各符号的意义:

Rn:当前寄存器区的8个工作寄存器(n=0~7)
Ri:当前寄存器区中可作间接寻址寄存器的2个寄存器(i=0 1)
Direct:直接地址
#data:包含在指令中的8位立即数
rel:相对转移指令中的偏移量,为8位带符号补码数
DPTR:数据指针,16位数据地址寄存器
bit:直接寻址位
C:进位标志位
addr11:11位目的地址
addr16:16位目的地址
@:间接寻址寄存器前缀

一、数据传送类指令

1.以累加器为目的操作数指令

MOV A,Rn
MOV A,@Ri
MOV A,direct
MOV A,#data

2.以Rn为目的操作数的指令

MOV Rn,A
MOV Rn,direct
MOV Rn,#data

3.以直接地址为目的操作数指令

MOV direct,A
MOV direct,Rn
MOV direct1,direct2
MOV direct,@Ri
MOV direct,#data

4.以寄存器间接地址为目的操作数指令

MOV @Ri,A
MOV @Ri,direct
MOV @Ri,#data

5.16位传送指令

MOV DPTR,#data16

6.堆栈操作指令

进栈:PUSH direct
出栈:POP direct

7.累加器A与外部数据存储器传送指令

MOVX A,@DPTR
MOVX A,@Ri
MOVX @DPTR,A
MOVX @Ri,A

8.查表指令

MOVC A,@A+PC
MOVC A,@A+DPTR

9.字节交换命令

XCH A,Rn
XCH A,direct
XCH A,@Ri

10.半字节交换指令

XCHD @Ri

二、算数操作类指令

1.加法指令

ADD A,Rn
ADD A,direct
ADD A,@Ri
ADD A,#data

2.带进位加法指令

ADDC A,Rn
ADDC A,direct
ADDC A,@Ri
ADDC A,#data

3.增1指令

INC A
INC Rn
INC direct
INC @Ri
INC DPTR

4.十进制调整指令

DA A

5.带借位减法

SUBB A,Rn
SUBB A,direct
SUBB A,@Ri
SUBB A,#data

6.减1指令

DEC A
DEC Rn
DEC direct
DEC @Ri

7.乘法指令

MUL AB

8.除法指令

DIV AB

三、逻辑操作类指令

1.简单逻辑操作指令

累加器A清零:
CLR A
累加器A按位取反:
CPL A

2.左循环指令

RL A

3.带进位左移指令

RLC A

4.右移指令

RR A

5.带进位循环指令

RRC A

6.累加器半字节交换指令

SWAP A

7.逻辑与指令

ANL A,Rn
ANL A,direct
ANL A,#data
ANL A,@Ri
ANL direct,A
ANL direct,#data

7.逻辑或指令

ORL A,Rn
ORL A,direct
ORL A,#data
ORL A,@Ri
ORL direct,A
ORL direct,#data

7.逻辑异或指令

XRL A,Rn
XRL A,direct
XRL A,#data
XRL A,@Ri
XRL direct,A
XRL direct,#data

四、控制转移类指令

1.无条件转移指令

AJMP addr11

2.相对转移指令

SJMP rel

3.长跳转指令

LJMP addr16

4.间接跳转指令

JMP @A+DPTR

5.条件转移指令

若累加器为0则转移:
JZ rel
若累加器非0则转移:
JNZ rel

6.比较不相等转移指令

CJNE A,direct,rel
CJNE A,#data,rel
CJNE Rn,#data,rel
CJNE @Ri,#data,rel

7.减1不为0转移指令

DJNZ Rn,rel
DJNZ direct,rel

8.调用子程序指令

ACALL addr11
LCALL addr16

9.子程序返回指令

RET

10.中断返回指令

RETI

11.空操作指令

NOP

五、位操作指令

1.数据位传送指令

MOV C,bit
MOV bit,C

2.位变量修改指令

清0:
CLR C
CLR bit
求反:
CPL C
CPL bit
置1:
SETB C
SETB bit

3.位变量逻辑与指令

ANL C,bit
ANL C,/bit

3.位变量逻辑或指令

ORL C,bit
ORL C,/bit

4.条件转移类指令

JC rel
JNC rel
JB bit,rel
JNB bit,rel
JBC bit,rel

51单片机汇编语言指令汇总相关推荐

  1. C语言sfr指令,51单片机的指令和sfr汇总.pdf

    51单片机的指令和sfr汇总 51 单片机编程备忘录 一.指令 51 系列的指令说复杂也不复杂,说简单吧,也比较繁琐讨厌.总体上,可以分为7 个大类,如下表. 序号 大类 子类 说明 1 辅助 伪指令 ...

  2. 8051系列单片机汇编语言指令速查表(汇编语言的111条指

    8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...

  3. 51单片机汇编指令记忆方法

    虽然现在51单片机一般是用的C语言编程,但是记得当时大学教材还是教的汇编. 本文总结下51单片机的汇编指令,权当是参考,感兴趣的可以了解一下. 学习单片机,除了搞清单片机内部功能.存储空间分配及I/O ...

  4. 汇编语言L0C,单片机汇编语言指令查表.doc

    单片机汇编语言指令查表 目的操作数汇编指令机器码功能机器周期字节数Amov A ,#data74H datadata传至A12Amov A,directE5H direct direct 传至A12A ...

  5. 51单片机汇编语言实验(三)-----定时/计数器实验(附参考代码及注释)

       本系列共6篇文章,本文作为本系列的第三篇文章,介绍实验三 :定时/计数器实验,本系列文章基于Dais-52PRO实验箱. 本系列文章链接: --------------------------- ...

  6. 51单片机汇编语言实验(五)-----A/D 0809模数转换和DA0832数模转换实验(附参考代码及注释)

       本系列共6篇文章,本文作为本系列的第五篇文章,介绍实验五 :A/D 0809模数转换和DA0832数模转换实验,本系列文章基于Dais-52PRO实验箱. 本系列文章链接: ---------- ...

  7. 51单片机——汇编指令合集

    目录 指令格式 编译语句实例 单片机的寻址方式 立即数(Immediate Constants)寻址方式 直接(Direct Addressing)寻址方式 寄存器(Register Addressi ...

  8. c51单片机汇编语言指令,单片机汇编语言指令

    图1 从图中我们可以看出,在51单片机内部有一个 CPU 用来运算.控制,有四个并行 I/O 口 ,分别是P0.P1.P2.P3,有ROM ,用来存放程序,有RAM ,用来存放中间结果,此外还有定时 ...

  9. c51单片机汇编语言语法错误,关于51单片机汇编语言一些注意事项

    电子信息类专业在大学必修的一门功课就是51单片机,这是最最基础的单片机,所以学好它很重要. 对单片机编程相对比较简单:1.用简单的C语言(不需要C++或C#的高级编程思想,只要你国家计算机等级考试二级 ...

  10. c51矩形波输出汇编语言,51单片机汇编语言编程:用定时器控制输出矩形波

    80C51单片机的时钟频率为12MHz,利用定时器T1和P1.0输出矩形脉冲. 波形只画出了2段:一段为100us 另一段为50us. 要完全的.完整的.详细的编写此程序的过程!谢谢 -------- ...

最新文章

  1. 魅族 虚拟位置服务状态:未运行_神车道具送不停 魅族17x跑跑卡丁车礼盒开启预约...
  2. jenkins部署java项目(五)
  3. a 标签中调用js的几种方法
  4. morality and strength
  5. 【2016计概A期末】照亮房间
  6. 智慧交通day02-车流量检测实现05:小车匀速案例
  7. bing浏览器_微软全新Edge浏览器正式发布 支持macOS和iOS
  8. 微服务升级_SpringCloud Alibaba工作笔记0009---阿里云部署微服务_在内网不同机器上_报错_注册中心找不到对应的机器_遇到java.net.UnknownHostExceptio
  9. 232 Crossword Answers
  10. Docker默认存储路径修改
  11. gradle入门(1-7)eclipse和gradle集成插件的安装和使用
  12. JavaScript的for in语法遍历对象的属性(1)
  13. python email模块详解_Python使用email模块对邮件进行编码和解码的实例教程
  14. Linux 基本命令(一)--ls 常用命令
  15. 直播系统源码,直播平台系统源码
  16. Java设计模式——策略模式
  17. 脚本文件BAT入门(1)
  18. 190种超全的解密工具任你选!!
  19. 浏览器网页怎么实现文档、小票自动静默打印?【深度】
  20. Excise_day04Array

热门文章

  1. 一枚php大马放送~
  2. Linux zlog日志打印
  3. dicom协议开源库DCMTK安装和使用
  4. java权限管理面试_java shiro面试题
  5. Verilog三段式状态机描述
  6. php中strtotime函数,PHP中strtotime函数用法举例
  7. html文档含有阿拉伯文,html – iOS中包含自定义字体的阿拉伯文字
  8. SpringBoot整合freemarker模板导出word文件
  9. 【C语言】浅谈C语言数组%c%s打印逻辑及数组打印单个汉字
  10. 软件工程需求分析模板(简单)