- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第四章汇编语言程序设计第1页,共40页,星期日,2025年,2月5日提要程序设计概述汇编语言源程序的编辑和汇编汇编语言程序设计**第2页,共40页,星期日,2025年,2月5日第1节程序设计概述1、程序设计语言简介2、汇编语言程序设计初步**第3页,共40页,星期日,2025年,2月5日1、程序设计语言简介常用的编程语言是汇编语言和高级语言。1.汇编语言用英文字符来代替机器语言,这些英文字符被称为助记符汇编语言:用助记符表示的指令。汇编语言源程序:用汇编语言编写的程序。优点:用汇编语言编写程序效率高,占用存储空间小,运行速度快,能编写出最优化的程序。缺点:可读性差,离不开具体的硬件,是面向“硬件”的语言通用性差。**第4页,共40页,星期日,2025年,2月5日1、程序设计语言简介2.高级语言不受具体“硬件”的限制,优点:通用性强,直观、易懂、易学,可读性好。目前多数的51单片机用户使用C语言(C51)来进行程序设计,已公认为高级语言中高效简洁而又贴近51单片机硬件的编程语言。将C语言向单片机上移植,始于20世纪80年代的中后期。第5页,共40页,星期日,2025年,2月5日汇编语言设计步骤(1)分析题意,明确要求(2)确定算法(3)画程序流程图(4)分配内存工作单元(5)编写源程序(6)程序优化(7)上机调试、修改和最后确定源程序第6页,共40页,星期日,2025年,2月5日4.2汇编语言源程序的编辑和汇编伪指令源程序的编辑和汇编第7页,共40页,星期日,2025年,2月5日1、伪指令(1)指令语句已在第3章介绍。每一指令语句在汇编时都产生一个指令代码(机器代码),执行该指令代码对应着机器的一种操作。(2)伪指令语句是控制汇编(翻译)过程的一些控制命令。在汇编时没有机器代码与之对应。下面介绍伪指令语句。第8页,共40页,星期日,2025年,2月5日1、伪指令1.ORG(ORiGin)汇编起始地址命令 源程序的开始,用一条ORG伪指令规定程序的起始地址。如果不用ORG,则汇编得到的目标程序将从0000H地址开始。例如: ORG 2000HSTART: MOV A,#00H ……即规定标号START代表地址为2000H开始。在一源程序中,可多次用ORG指令,规定不同的程序段的起始地址。但是,地址必须由小到大排列,且不能交叉、重叠。第9页,共40页,星期日,2025年,2月5日例如:ORG 2000H……ORG 2500H……ORG 3000H……这种顺序是正确的。若按下面顺序的排列则是错误的,因为地址出现了交叉。ORG 2500H……ORG 2000H……ORG 3000H……第10页,共40页,星期日,2025年,2月5日1、伪指令2.?END(ENDofAssembly)汇编终止命令源程序结束标志,终止源程序的汇编工作。整个源程序中只能有一条END命令,且位于程序的最后。如果END出现在程序中间,其后的源程序,将不进行汇编处理。第11页,共40页,星期日,2025年,2月5日1、伪指令3.DB(DefineByte)定义数据字节命令格式:[标号:]DB8位字节数据表用于从(标号)指定的地址开始,在程序存储器连续单元中定义字节数据。例如: ORG 1000HDB -2,-4,100,30H,‘C’,‘A’第12页,共40页,星期日,2025年,2月5日1、伪指令4、DW(DefineWord)定义字数据命令该命令用于从指定的地址开始,在程序存储器的连续单元中定义16位的字数据。例如:ORG 2000HDATA:DW 1246H,7BH,10汇编后(2000H)=12H (2001H)=46H ;第1个字(2002H)=00H (2003H)=7BH ;第2个字(2004H)=00H (2005H)=0AH ;第3个字第13页,共40页,星期日,2025年,2月5日1、伪指令5.DS(DefineStorage)定义存储区命令从指定地址开始,保留指定数目的字节单元作为存储区,供程序运行使用。例如: TABEL:DS 10表示从TABEL代表的地址开始,保留10个连续的地址单元。又例如: ORG 2000H DS 10H表示从2000H地址开始,保留16个连续地址单元。**第14页,共40页,星期日,2025年,2月5日1、伪指令6.EQU(EQUate)标号赋值命令用于给标号赋值。赋值后,标号值在整个程序有效。例如:TEST: EQU200
文档评论(0)