- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言及C语言程序设计
第4章 汇编语言及C语言程序设计 4.1 程序设计概述 4.2 汇编语言源程序的编辑和汇编 4.3 汇编语言程序设计 4.4 C51基本语法 4.5 C51与汇编的结合 4.1 程序设计概述 4.1.1 程序设计语言简介 1. 机器语言 机器语言就是用二进制(可缩写为十六进制)代码来表示指令和数据。也称为机器代码、指令代码。机器语言是计算机唯一能识别和执行的语言,用其编写的程序执行效率最高,速度最快,但由于指令的二进制代码很难记忆和辨认,给程序的编写、阅读和修改带来很多困难。所以,没有人使用机器语言来编写程序。 2. 汇编语言 用助记符表示的指令就是计算机的汇编语言,汇编语言与机器语言一一对应。用汇编语言编写程序,每条指令的意义一目了然,给程序的编写、阅读和修改带来很大方便。而且用汇编语言编写的程序占用内存少,执行速度快,尤其适用于实时应用场合的程序设计。因此,在单片机应用系统中主要是用汇编语言来编写程序。 汇编语言也有它的缺点:缺乏通用性,程序不易移植,是一种面向机器的低级语言。即使用汇编语言编写程序时,仍必须熟悉机器的指令系统、寻址方式、寄存器的设置和使用方法。每个计算机系统都有它自己的汇编语言。不同计算机的汇编语言之间不能通用。 3. 高级语言 高级语言是一种面向算法、过程和对象的程序设计语言,它采用接近人们自然语言和习惯的数学表达式及直接命令的方法来描述算法、过程和对象,如BASIC、 C语言等。高级语言的语句直观,易学,通用性强,便于推广、交流,但高级语言编写的程序经编译后所产生的目标程序大,占用内存多,运行速度较慢,这在实时应用中是一个突出的问题。 4.1.2 汇编语言程序设计步骤 使用汇编语言设计程序大致上可分为以下几个步骤: (1)分析题意,明确要求。解决问题之前,首先要明确所要解决的问题和要达到的目的、技术指标等; (2)确定算法。根据实际问题的要求、给出的条件及特点,找出规律性,最后确定所采用的计算公式和计算方法,这就是一般所说的算法。算法是进行程序设计的依据,它决定了程序的正确性和程序的指令。 (3)画程序流程图,用图解来描述和说明解题步骤。程序流程图是程序设计的依据,它直观清晰的体现了程序的设计思路。流程图是用预先约定的各种图形、流程线及必要的文字符号构成的。标准的流程图符号如图4-1所示。 (4)分配内存工作单元,确定程序与数据的存放地址。 (5)编写源程序。流程图设计后,程序设计思路就比较清楚了,接下来的任务就是选用合适的汇编语言指令来实现流程图中每一框内的要求,从而编制出一个有序的指令流,这就是源程序设计。 (6)程序优化。程序优化的目的在于缩短程序的长度,加快运算速度和节省存储单元。如恰当的使用循环程序和子程序结构,通过改进算法和正确使用指令来节省工作单元及减少程序执行的时间。 (7)上机调试、修改、最后确定源程序。只有通过上机调试并得出正确结果的程序,才能认为是正确的程序。对于单片机来说,没有自开发的功能,需要使用仿真器或利用仿真软件进行仿真调试,修改源程序中的错误,直至正确为止。 4.2 汇编语言源程序的编辑和汇编 4.2.1 伪指令 指令能使CPU执行某种操作,能生成对应的机器代码。 伪指令不能命令CPU执行某种操作,也没有对应的机器代码。它的作用仅用来给汇编程序提供某种信息。 常用的伪指令如下: 1.汇编起始伪指令 ORG 格式:[标号:] ORG 16位地址 功能:规定程序块或数据块存放的起始地址。如: ORG 8000H START:MOV A,#30H …… 该伪指令规定第一条指令从地址8000H单元开始存放,即标号START的值为8000H。 2.汇编结束伪指令 END 格式:[标号:] END [表达式] 功能:结束汇编。 汇编程序遇到END伪指令后即结束汇编。 3.定义字节数据伪指令 DB 格式:[标号:] DB 8位字节数据表 功能:从标号指定的地址单元开始,将数据表中的字节数据按顺序依次存入。 数据表可以是一个或多个字节数据、字符串或表达式,各项数据用“,”分隔,一个数据项占一个字节单元。例如 ORG 1000H TAB:DB -2,-4,100,30H,‘A’, ‘C’ …… 汇编后:(1000H)=FEH,(1001H)=FCH,(1002H)=64H,(1003H)=30H,(1004H)=41H,(1005H)=43H 用单引号括起来的字符存其ASCⅡ码,负数存其补码。 4.定义字数据伪指令 DW 格式:[标号:] DW 16位字数据表 功能:从标号指定的地址单元开始,将数据表中的字数据按从左到右的顺序依次存入。 应注意:16位数据
您可能关注的文档
最近下载
- 2025呼和浩特粮油收储有限公司招聘18名工作人员笔试备考题库及答案解析.docx VIP
- 一种含电极的智能指环、灌胶治具及其封装工艺.pdf VIP
- The Wonderful Wizard of Oz-绿野仙踪(带动画) 课件.pdf VIP
- 2025至2030中国老年照护行业市场发展分析及竞争格局与投资发展报告.docx
- 2010年考研英语真题及解析.pdf VIP
- 浙江省强基联盟2024-2025学年高一上学期10月联考生物试卷.docx VIP
- 第一章 应急管理导论-2.ppt VIP
- 大连理工工程力学课件0.pdf VIP
- 大行距造林中杨树营养面积与大行距经济效益的研究.docx VIP
- 2025学宪法讲宪法知识竞赛题库及参考答案.pptx
文档评论(0)