资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,7,章 汇编语言基本结构与程序设计,主讲:,7.1,汇编语言程序设计的一般方法,程序是为解决某一问题而设计的一系列指令。设计一个程序通常从两方面入手:一是分析问题的需求,选择好的解决方法;两是根据选定的算法,编写高质量的程序。一个高质量的程序一般要满足,4,个方面的要求:,满足设计要求,实现预定功能;,结构清晰简明、易读易测试;,执行速度快;,占用存储空间少。,为了方便阅读和调试,一般还要写出程序的说明和注释。,7.1.1,汇编语言程序设计的一般步骤,1,分析问题,确定算法,根据具体问题确定相应数学模型,找出适当的规律,在此基础上确定合理的算法。,2,绘制流程图,将解题算法及步骤带有几何图形、指向线以及文字说明的流程图表示出来。,3,根据流程图编制程序,(1),合理分配存储单元。在数据段中,为程序要用到的变量、结构等分配存储空间。在堆栈段中,为堆栈分配空间。,(2),合理分配寄存器。合理运用寄存器可以提高程序执行速率,但寄存器数目有限,且特殊寄存器有特定用途,应注意合理分配寄存器。,4.,程序静态检查,通读程序,检查程序设计中是否有明显的逻辑错误,语法程序,笔误等,为上机调试做好准备。,5.,上机调试,编译链接程序,根据编译链接报告再调试程序,必要时可用,Debug,动态调试。,7.1.2,结构化程序设计,在,20,世纪,70,年代初,由,Boehm,和,Jacobi,提出并证明的结构定理:即任何程序都可以由,3,种基本结构程序构成结构化程序,这,3,种结构是:,顺序结构、分支(条件选择)结构,和,循环结构,。每一个结构只有一个入口和一个出口,,3,种结构的任意组合和嵌套就构成了结构化的程序。,1,顺序结构,顺序结构是按照语句实现的先后次序执行一系列的操作,它没有分支、循环和转移,其结构图如图,2,分支结构(条件选择结构),分支结构根据不同情况做出判断和选择,以便执行不同的程序段。分支的意思是在两个或多个不同的操作中选择其中的一个。分为双分支结构和多分支结构,分别相当于高级语言中的,IF-THEN-ELSE,语句和,CASE,语句,所以又称,IF-THEN-ELSE,结构和,CASE,结构,其结构图如图分别如图,7-2,和,7-3,所示。,3,循环结构,循环结构是重复执行一系列操作,直到某个循环控制条件出现为止。按照条件判断的位置,可把循环分为两种,第一种情况是先作条件判断,满足条件则执行循环体,否则退出循环;第两种情况是先执行一次循环,然后判断是否满足控制条件,不满足继续执行循环操作,满足则退出循环。其结构图分别如图,7-4,和,7-5,所示。,7.1.3,流程图画法,1,流程图的概念,流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图,它是程序设计思想的体现,也是程序设计的依据。流程图具有简洁、明了、直观的特点。初学汇编语言程序设计的人,一定要养成先画流程图,再根据流程图写程序的良好习惯。,2,流程图符号表示,(,1,)起止框:表示程序的开始和结束,(,2,)判断框,:,进行控制条件的判断。,(,3,)处理框:进行相应的处理。,(,4,)指向线:指向各个方向。,7.2,顺序程序设计,顺序程序结构是最基本、最简单的程序结构,即完全按指令书写的前后顺序执行每一条指令。程序无分支、无循环,按直线形式顺序执行。设计这种程序的方法比较简单,只要遵照算法步骤依次写出相应的指令即可。设计时主要考虑如何选择简单有效的算法,如何选择存储单元和寄存器。这种程序结构是其它程序结构如分支、循环、子程序的基础。,8086/8088,指令系统具有许多种条件转移指令,这就说明,8086/8088,计算机系统具有很强的逻辑判断能力,并且能够根据这种逻辑判断选择执行不同的程序段。也就是说,当条件满足时进行某种处理,当条件不满足时又进行另外一种处理。,分支程序的结构可以有两种形式:,两分支结构,和,多分支结构,。,7.3,分支程序的设计,7.3.1,两分支程序设计,所谓两分支程序设计,就是根据判定条件为真或为假,从两条分支中选择一条分支去执行。两分支程序中的一种特殊情况就是只有一个分支程序段,另一个分支是顺序执行,有时也把这种结构称为单分支结构。,要设计两分支程序结构,首先要产生条件,然后对产生的条件进行分析判断,根据判断结果决定执行哪一个分支,最后转入相应程序段的起始地址去执行分支程序。其中产生条件的指令通常由指令系统中影响状态标志位的指令来产生,如算术运算指令(如,ADD,、,SUB,、,CMP,)、逻辑运算指令(如,AND,、,TEST,)、移位指令(如,SHR,、,SHL,)等等。要想用好这些指令,就要搞清楚这些指令的功能及其对标志位的影响。特别是要熟练掌握状态标志位,CF,、,ZF,、,PF,、,SF,和,OF,的含义。,7.3.2,多分支程序设计,多分支结构是有若干个条件,每一个条件对应一个基本操作。分支程序就是判断产生的条件,哪个条件成立,就执行哪个条件对应操作的程序段。也就是说,从若干分支中选择一个分支执行。,7.4,循环程序设计,前面已经讨论了顺序程序、分支程序。在顺序程序里,每条语句只被执行一次;在分支程序里,分支里的语句最多只被执行一次。但在处理实际问题时,有些程序需要按照一定规律,多次反复执行一些语句,这类程序被称为循环程序。循环程序按照结构可分为单重循环和多重循环。,7.4.1,单重循环设计,单重循环指循环体内不再包含循环结构。要设计单重循环程序结构,首先要确定控制条件,当条件成立时执行哪些语句,当条件不成立时又执行哪些语句。控制循环常用计数控制循环和条件控制循环。,7.4.2,多重循环程序设计,一个循环体内包含有一个或多个循环结构,称为多重循环。对于多重循环,外层的循环称为外循环,内存的循环称为内循环。设计多重循环时,通常从外循环到内循环一层层地进行。,谢谢!,
展开阅读全文