单片机原理及应用-第4章 汇编语言程序设计.ppt

单片机原理及应用-第4章 汇编语言程序设计.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章汇编语言程序设计 本章学习目标: 了解汇编语言程序设计步骤。 掌握简单的顺序程序设计。 掌握简单的分支程序设计。 掌握简单的循环程序设计。 掌握简单的子程序设计。 掌握一些常用程序设计。 4.1 汇编语言程序设计概述 4.1.1 程序设计语言 1.机器语言 机器语言是计算机唯一能识别和执行的语言,用其编写的程序执行效率最高,速度最快,但由于指令的二进制代码很难记忆和辨认,给程序的编写、阅读和修改带来很多困难,所以几乎没有人直接使用用机器语言来编写程序。 2.汇编语言 为了容易理解和记忆计算机的指令,人们用英文助记符表示指令,用助记符表示的指令就是符号语言或汇编语言。 汇编语言特点: (1)面向机器的语言,程序设计员须对MCS-51的硬件有相当深入的了解。 (2)助记符指令和机器指令一一对应,用汇编语言编写的程序效率高,占用存储空间小,运行速度快,用汇编语言能编写出最优化的程序。能直接管理和控制硬件设备(功能部件),它能处理中断,也能直接访问存储器及I/O接口电路。 (3)汇编语言和机器语言都脱离不开具体机器的硬件,均是面向“机器”的语言,缺乏通用性。 3.高级语言 高级语言是一种面向算法、过程和对象的程序设计语言,它采用更接近人们自然语言和习惯的数学表达式及直接命令的方法来描述算法、过程和对象。高级语言的语句直观、易学、通用性强,便于推广、交流,但高级语言编写的程序经编译后所产生的目标程序大,占用内存多,运行速度较慢。 4.1.2 汇编语言程序设计步骤 1.分析题意,明确要求。 2.确定算法。 根据实际问题的要求、给出的条件及特点,找出规律性,最后确定所采用的计算公式和计算方法,这就是一般所说的算法。算法是进行程序设计的依据,它决定了程序的正确性和程序的指令。处理框流程线判断框起止框 3.画程序流程图,用图解来描述和说明解题步骤。 4.分配内存工作单元,确定程序与数据区存放地址。 5.编写源程序。 6.程序优化。 7.上机调试、修改和最后确定源程序。 4.1.3 汇编语言格式与伪指令 1.汇编程序格式 [标号:] 操作码助记符 [目的操作数] [,源操作数] [;注释] 例如:CLEAR:MOV A,#00H ;将0送入A中 2.伪指令 伪指令不能命令CPU执行某种操作,也没有对应的机器代码,它的作用仅用来给汇编程序提供某种信息。 (1)ORG 汇编起始地址命令 在汇编语言源程序的开始,通常都用一条ORG伪指令来实现规定程序的起始地址。 例如 ORG 2000H START: MOV A,#00H ┋ 规定标号START代表地址为2000H开始。 (2)END 汇编终止命令 汇编语言源程序的结束标志,用于终止源程序的汇编工作。在整个源程序中只能有一条END命令,且位于程序的最后。 (3)DB(Define Byte)定义字节命令 在程序存储器的连续单元中定义字节数据。 例如 ORG 2000H DB 30H,40H,24,“C”,“B” 汇编后: (2000H)=30H (2001H)=40H (2002H)=18H(10进制数24) (2003H)=43H(字符“C”的ASCII码) (2004H)=42H(字符“B”的ASCII码) (4)DW(Define Word)定义数据字命令 从指定的地址开始,在程序存储器的连续单元中定义16位的数据字。 例如 ORG 2000H DW 1246H,7BH,10 汇编后: (2000H)=12H ;第1个字 (2001H)=46H (2002H)=00H ;第2个字 (2003H)=7BH (2004H)=00H ;第3个字(2005H)=0AH (2005H)=0AH (5)EQU(Equate)赋值命令 用于给标号赋值。赋值以后,其标号值在整个程序有效。 例如: TEST EQU 2000H 表示标号TEST=2000H,在汇编时,凡是遇到标号TEST时,均以2000H来代替。 (6)BIT(位地址赋值)伪指令 该语句的功能是把BIT右边的位地址赋给它左边的“字符名称”。因此,BIT语句定义过的“字符名称”是一个符号位地址。 例如: ORG 0030H A1 BIT 00H A2 BIT P0.0 4.2 顺序程序设计 例4-1 有两个三字节无符号数,其中一个加数在内部RAM的50H、51H、52H单元中,另一个加数在内部RAM的53H、54H和55H单元中,要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区00H位中。 解: ORG 0010H MOV R0,#52H

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档