单片机学习汇编程序.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机学习汇编程序.ppt

第4章 89C51汇编语言程序设计 汇编语言是面向机器硬件的语言,要求程序设计者对89C51单片机具有很好的“软、硬结合”的功底。 4.1 汇编语言程序设计概述 4.1.1 机器语言、汇编语言和高级语言 1.机器语言 用二进制(“0”、“1”)代码表示的指令、数字,用机器语言编写的程序——机器语言目标程序,不易懂,难记忆,易出错。 2.汇编语言 采用英文的指令助记符表示指令称为符号语言或汇编语言 将汇编语言程序转换成为二进制代码表示的机器语言程序的程序称为汇编程序 经汇编程序“汇编”得到的机器语言程序称为机器语言目标程序,原来的程序称为汇编语言源程序。 汇编语言特点: 面向机器的语言,程序设计员须对硬件有相当深入的了解。 助记符指令和机器指令一一对应,用汇编语言编写的程序(比高级语言编写的程序)效率高,占存储空间小,运行速度快,能编写出最优化的程序。 能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。 汇编语言和机器语言都脱离不开具体机器的硬件,均是面向“机器”的语言,缺乏通用性。 3.高级语言 不受具体机器的限制,接近于人的自然语言及学科语言,常用的如BASIC、FORTRAN以及C语言等。可视化、面向对象…… 高级语言优点:通用性强,直观、易懂、易学,可读性好。 计算机不能直接识别和执行高级语言,需要将其 “翻译”成机器语言才能识别和执行,进行“翻译”的专用程序称为编译程序。 可用C语言(C51)来进行AT89C51的应用程序设计。对于程序的空间和时间要求很高的场合,汇编语言仍是必不可缺的。 C语言和汇编语言混合编程 在很多需要直接控制硬件的场合,则更是非用汇编语言不可 使用汇编语言编程,是单片机程序设计的基本功之一 4.1.2 汇编语言语句的种类和格式 两种基本类型:指令语句和伪指令语句 (1)指令语句 (CPU指令、可执行指令、真指令) 已在第3章介绍 每一条指令语句在汇编时都产生一个指令代码:机器指令代码 (2)伪指令语句 (命令语句) 是为汇编工作服务的。在汇编时除了定义的数据之外没有机器指令代码与之对应。 【例4-1】AT89C51的汇编语言的四分段格式如下: 标号字段 操作码字段 操作数字段 注释字段 START:MOV A,#00H ;0→A MOV R1,#10 ;10→R1 MOV R2, ;3→R2 LOOP:ADD A,R2 ;(A)+(R2)→A DJNZ R1,LOOP ;R1内容减1不为零,则循环 NOP HERE:SJMP HERE 程序功能:R2内容自加10次:R2×10→A 4.1.3 伪指令 伪指令也称为汇编程序控制命令,是向汇编程序发出的指示信息,告诉它如何完成汇编工作。伪指令没有相应的机器指令代码产生 常用的伪指令: 1.ORG(ORiGin)汇编起始地址命令 指定后续程序的起始地址。可多次使用ORG指令,但是,地址必须由小到大排列,地址不能交叉、重叠。 ORG 2000H 2000 74 00 START:MOV A,#00H ┋ 2. END(END of assembly)汇编终止命令 汇编语言源程序的结束标志,用于终止源程序的汇编工作。在整个源程序中只能有一条END命令,且位于整个程序的最后。 3.DB(Define Byte)定义字节命令 例: ORG 2000H 2000 30 40 18 43 42 DB 30H,40H,24,“C”,“B” DB功能是从当前地址开始定义(存储)若干个单字节数据, 十进制数自然转换成16进制数,字母按ASCII码存储。 4.DW(Define Word)定义数据字命令 定义16位的数据字。例如: ORG 2000H 2000 12 46 00 7B 00 0A DW 1246H,7BH,10 DB功能是从当前地址开始定义(存储)若干个双字节数据,高字节在低地址单元 5.EQU(EQUate)赋值命令 用于给标号赋值。赋值以后,其标号值在整个程序有效。 例如: TEST EQU 2000H 表示标号TEST=2000H,在汇编时,凡是遇到标号TEST时,均以2000H来代替。 4.2 汇编语言源程序的汇编 汇编语言源程序 “翻译”成机器代码(指令代码)的过程称为“汇编”。汇编可分为

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档