单片机中级教程 第4章 汇编语言程序设计.docVIP

单片机中级教程 第4章 汇编语言程序设计.doc

  1. 1、本文档共35页,可阅读全部内容。
  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文档。上传文档
查看更多
单片机中级教程 第4章 汇编语言程序设计

第4章 汇编语言程序设计 本章从应用的角度出发,介绍各种常用程序的设计方法,并列举一些具有代表性的汇编语言源程序,作为读者设计程序的参考。 4.1 程序设计概述 程序设计就是用计算机所能接受的语言把解决问题的步骤描述出来,也就是编制计算机程序。 4.1.1 程序设计语言简介 在计算机的程序设计中可以使用三种语言来编写程序 1. 机器语言 机器语言就是用二进制(可缩写为十六进制)代码来表示指令和数据。也称为机器代码、指令代码。机器语言是计算机唯一能识别和执行的语言,用其编写的程序执行效率最高,速度最快,但由于指令的二进制代码很难记忆和辨认,给程序的编写、阅读和修改带来很多困难。所以,几乎没有人直接使用机器语言来编写程序。 2. 汇编语言 计算机所能执行的每条指令都对应一组二进制代码。为了容易理解和记忆计算机的指令,人们用一些英语单词和字符等作为助记符来描述每一条指令的功能。用助记符表示的指令就是计算机的汇编语言,汇编语言与机器语言一一对应。用汇编语言编写程序,每条指令的意义一目了然,给程序的编写、阅读和修改带来很大方便。而且用汇编语言编写的程序占用内存少,执行速度快,尤其适用于实时应用场合的程序设计。因此,在单片机应用系统中主要是用汇编语言来编写程序。 汇编语言也有它的缺点:缺乏通用性,程序不易移植,是一种面向机器的低级语言。即使用汇编语言编写程序时,仍必须熟悉机器的指令系统、寻址方式、寄存器的设置和使用方法。每个计算机系统都有它自己的汇编语言。不同计算机的汇编语言之间不能通用。但是掌握了一种计算机的汇编语言,却有助于学习其它计算机的汇编语言。 3. 高级语言 高级语言是一种面向算法、过程和对象的程序设计语言,它采用更接近人们自然语言和习惯的数学表达式及直接命令的方法来描述算法、过程和对象,如BASIC、 C语言等。高级语言的语句直观,易学,通用性强,便于推广、交流,但高级语言编写的程序经编译后所产生的目标程序大,占用内存多,运行速度较慢,这在实时应用中是一个突出的问题。 4.1.2 汇编语言程序设计步骤 使用汇编语言设计一个程序大致上可分为以下几个步骤: (1)分析题意,明确要求。解决问题之前,首先要明确所要解决的问题和要达到的目的、技术指标等; (2)确定算法。根据实际问题的要求、给出的条件及特点,找出规律性,最后确定所采用的计算公式和计算方法,这就是一般所说的算法。算法是进行程序设计的依据,它决定了程序的正确性和程序的指令。 (3)画程序流程图,用图解来描述和说明解题步骤。程序流程图是解题步骤及其算法进一步具体化的重要环节,是程序设计的重要依据,它直观清晰的体现了程序的设计思路。流程图是用预先约定的各种图形、流向线及必要的文字符号构成的。标准的流程图符号如图4-1所示。 图4-1 常用的流程图符号 (4)分配内存工作单元,确定程序与数据区存放地址。 (5)编写源程序。流程图设计后,程序设计思路比较清楚,接下来的任务就是选用合适的汇编语言指令来实现流程图中每一框内的要求,从而编制出一个有序的指令流,这就是源程序设计。 (6)程序优化。程序优化的目的在于缩短程序的长度,加快运算速度和节省存储单元。如恰当的使用循环程序和子程序结构,通过改进算法和正确使用指令来节省工作单元及减少程序执行的时间。 (7)上机调试、修改、最后确定源程序。只有通过上机调试并得出正确结果的程序,才能认为是正确的程序。对于单片机来说,没有自开发的功能,需要使用仿真器或利用仿真软件进行仿真调试,修改源程序中的错误,直至正确为止。 4.2 汇编语言源程序的编辑和汇编 用汇编语言编写的程序称为汇编语言源程序,通常,汇编语言源程序是由指令和伪指令两部分组成。前面介绍了MCS-51系列单片机的111条指令及功能,下面介绍MCS-51系列单片机的伪指令。 4.2.1 伪指令 指令能使CPU执行某种操作,能生成对应的机器代码。 伪指令不能命令CPU执行某种操作,也没有对应的机器代码。它的作用仅用来给汇编程序提供某种信息。伪指令是汇编程序能够识别的汇编命令。MCS-51汇编程序常用的伪指令如下: 1.汇编起始伪指令 ORG 格式:[标号:] ORG 16位地址 功能:规定程序块或数据块存放的起始地址。如: ORG 8000H START:MOV A,#30H …… 该伪指令规定第一条指令从地址8000H单元开始存放,即标号START的值为8000H。 通常,在一个汇编语言源程序的开始,都要设置一条ORG伪指令来指定该程序在存储器中存放的起始位置。若省略ORG伪指令,则该程序段从0000H单元开始存放。在一个源程序中,可以多次使用ORG伪指令,以

文档评论(0)

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

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

1亿VIP精品文档

相关文档