- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 程 序 设 计 7.1 汇编语言伪指令 7.1.1 汇编语言伪指令的概念 7.1.2 汇编语言伪指令的写法与符号约定 7.1.3 汇编语言伪指令的分类 7.1.4 汇编语言的语法格式 1.数制、数据类型 2.运算符 3.标号 4.程序注释与符号规定 7.2 汇编语言程序设计 7.2.1 顺序结构 顺序结构比较简单,从第一条指令开始依次执行每一条指令,直到最后一条指令,程序结束,如图7-2所示。顺序结构是构成复杂程序的基础(具体实例可以参考例7-1)。 7.2.2 选择结构 1.特点 选择结构又叫分支结构,P代表条件,当P条件成立时执行A,否则执行B,如图7-3(a)所示;由此派生出多分支结构,如图7-3(b)所示。在程序体中,根据不同的条件执行不同的动作,在某一确定的条件下,只能执行多个分支中的一个分支。 2.举例 7.2.3 循环结构 1.特点 在一些实际应用系统中,某些指令需要重复许多次,这种强制CPU多次重复执行某些指令的基本结构称为循环结构。在汇编语言中没有专门的循环指令,但是可以使用有条件转移指令通过条件判断来控制循环是继续还是结束。 2.循环结构的结构形式 循环结构有两种基本形式,如图7-5和图7-6所示。一种是先判断条件,满足条件执行循环体,不满足条件就结束循环;另一种是先执行循环体,再判断条件,若满足条件则继续执行循环体,不满足条件结束循环。 循环结构的3个组成部分如下。 (1)初始化:为循环做准备,如规定循环次数、给变量赋初始值等。 (2)循环体:循环结构的主体,每次都要执行的程序代码段。 (3)循环控制:修改循环变量,判断循环是否结束。 7.2.4 子程序设计 1.特点 在实际应用中,经常会遇到在同一程序中需要多次进行一些相同的计算和操作的情况,例如:延时、算术运算等。如果每次使用时都再从头开始编写这些程序,则不仅程序繁琐,而且浪费内存空间,也给程序的调试增加了难度。 因此,可以采用子程序的概念,将一些重复使用的程序标准化,使之成为一个独立的程序段,需要时调用即可。我们就把这些程序段称作子程序。 2.子程序结构 一般来说子程序的结构包括3个部分:子程序的定义声明和开始标号部分;子程序的实体内容部分,表明程序将进行怎样的操作;子程序的结束标号部分。 子程序名:.proc //子程序内容 RETF .endp 程序的调用包括主程序调用子程序、子程序调用子程序等。程序调用是通过调用指令“CALL”来实现的。程序执行的过程中,当遇到调用子程序指令时,CPU自动会将下一条指令的地址压入堆栈暂时保护起来,然后转到被调用的子程序入口去执行子程序,当执行到RETF时返回,CPU自动将堆栈中的返回地址弹出送到PC,继续执行原来的程序。其过程流程框图如图7-8所示(CPU自动执行操作不需要编写指令处理)。 在程序调用的过程中,需要注意到的问题是断点的现场保护,就是说,子程序将占用的资源是否与主程序冲突,子程序将会破坏什么寄存器的内容,而这些寄存器是否是主程序持续使用的等。通常的做法是用堆栈对现场进行保护,在子程序开始就把子程序要破坏掉的寄存器的内容压栈保护,当子程序结束的时候再弹栈恢复现场。 3.参数传递 程序调用的过程都伴随着参数的传递,正确的参数传递要满足入口和出口条件。入口条件指执行子程序时所必需的有关寄存器内容或源程序的存储器的存储地址等,主程序调用子程序时必须先满足入口条件,换句话说就是满足子程序对输入参数的约定。 出口参数就是指子程序执行完之后运算结果所存放的寄存器或存储器地址等,也就是说,必须确定主程序对输出参数的约定。通常来说,参数的传递有通过寄存器传递、通过变量传递、通过堆栈传递几种。 7.3 C语言程序设计 7.3.1 顺序结构 7.3.2 选择结构 7.3.3 循环结构 7.3.4 子程序设计 7.4 程序设计举例 7.4.1 数字显示 【例7-9】利用B口控制数码管依次显示0~9。 (1)数字显示原理 数码管是由发光二极管作为显示字段的数码型显示器件。如图7-12所示,7只发光二极管分别对应a~g,另外一只发光二极管显示小数点,这种LED显示器称为八段数码管。 LED数码管按照电路连接方式可分为共阴极和共阳极两种类型。共阴极将各段发光二极管的负极连接在一起,作为公共端;共阳极将各段发光二极管的正极连接在一起,作为公共端。七段数码管的8个LED某些发亮、某些不亮
您可能关注的文档
- 单片机原理与应用 教学课件 作者 梁炳东 附录A 一个单片机的应用项目.ppt
- 单片机原理与应用 教学课件 作者 梁炳东 附录B MCS 51系列单片机指令表.ppt
- 单片机原理与应用 教学课件 作者 邱丽芳习题答案2 第3章答案.doc
- 单片机原理与应用 教学课件 作者 邱丽芳习题答案2 第4章答案.doc
- 单片机原理与应用 教学课件 作者 王迎旭 主编 14591单片机原理与应用王迎旭.ppt
- 单片机原理与应用 教学课件 作者 张东亮 第1章单片机基础知识.ppt
- 单片机原理与应用 教学课件 作者 张东亮 第2章8051单片机结构.ppt
- 单片机原理与应用 教学课件 作者 张东亮 第3章8051单片机指令系统.ppt
- 单片机原理与应用 教学课件 作者 张东亮 第4章汇编语言程序设计.ppt
- 单片机原理与应用 教学课件 作者 张东亮 第5章并行输入输出接口及其应用.ppt
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
最近下载
- 2024年广州市高三二模(普通高中毕业班综合测试(二)数学试卷(含官方答案及逐题解析).pdf
- 武汉市2025届高中毕业生四月调研考试(四调)数学试卷(含答案详解).pdf
- (毕业论文)果树采摘机器人的发展现状及运动学分析.doc VIP
- 【高中语文】双新背景下的语文教学设计+85.pptx VIP
- 雨课堂学堂在线《兵棋(中国人民武装警察部队警官学院)》学堂云单元测试考核答案.pdf VIP
- 11.3 一元一次不等式组(教学设计)七年级数学下册(人教版2024).docx
- 年产1万吨一氯甲烷的工艺流程设计.doc
- 医疗器械质量管理制度-全套规章制度.docx VIP
- 木材质量v验收标准.doc
- 直肠癌(外科学课件).ppt VIP
文档评论(0)