补充2汇编语言程序设计

补充2汇编语言程序设计

ID:40808706

大小:472.60 KB

页数:78页

时间:2019-08-08

补充2汇编语言程序设计_第1页
补充2汇编语言程序设计_第2页
补充2汇编语言程序设计_第3页
补充2汇编语言程序设计_第4页
补充2汇编语言程序设计_第5页
资源描述:

《补充2汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章汇编语言程序设计本章学习目标本章详细讲述汇编语言程序设计的基本步骤,通过实例分析说明程序的基本结构,按照程序设计的基本步骤设计各种结构程序的方法,主要有:汇编语言程序设计基本步骤顺序程序的基本结构和设计方法分支程序的基本结构和设计方法循环程序的结构形式和程序设计子程序设计的基本过程和设计方法第6章汇编语言程序设计6.1汇编语言程序设计基本方法和基本步骤6.2顺序程序的结构形式和程序设计6.3分支程序的结构形式和程序设计6.4循环程序的结构和程序设计6.5子程序结构与设计方法开始6.1汇编语言程序设计基本方法和基本步骤6.1.1汇编语言程序

2、设计基本步骤6.1.2结构化程序的概念6.1.3流程图画法规定返回本章首页6.1.1汇编语言程序设计的一般步骤汇编语言程序设计一般有以下几个步骤:1.分析问题,抽象出描述问题的数学模型2.确定解决问题的算法或解题思想3.绘制流程图和结构图4.分配存储空间和工作单元5.编制程序6.程序静态检查7.上机调试返回本节6.1.2结构化程序的概念所谓结构化程序设计是指程序的设计、编写和测试都采用一种规定的组织形式进行,而不是想怎么写就怎么写。这样,可使编制的程序结构清晰,易于读懂,易于调试和修改,充分显示出模块化程序设计的优点。在20世纪70年代初,由B

3、oehm和Jacobi提出并证明的结构定理:即任何程序都可以由3种基本结构程序构成结构化程序,这3种结构是:顺序结构、分支(条件选择)结构和循环结构。每一个结构只有一个入口和一个出口,3种结构的任意组合和嵌套就构成了结构化的程序。1.顺序结构顺序结构是按照语句实现的先后次序执行一系列的操作,它没有分支、循环和转移2.分支结构(条件选择结构)分支结构根据不同情况做出判断和选择,以便执行不同的程序段。分支的意思是在两个或多个不同的操作中选择其中的一个。分为双分支结构和多分支结构3.循环结构循环结构是重复执行一系列操作,直到某个条件出现为止。循环实际

4、上是分支结构的一种扩展,循环是否继续是依靠条件判断语句来完成的。按照条件判断的位置,可以把循环分为“当型循环”和“直到型循环”。第一种情况是先作条件判断,第二种情况是先执行一次循环,然后判断是否继续循环。基本逻辑图下图所示。6.1.3流程图画法规定1.流程图的概念流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2.流程图符号表示(1)起止框:表示程序的开始和结束。起止框(2)判断框(3)处理框(4)调用框(5)指向线(6)连接框返回本节6.2顺序程序设计

5、下面举例说明顺序程序的设计。【例6.1】试编写一程序计算以下表达式的值。w=(v-(x*y+z-540))/x式中x、y、z、v均为有符号字数据。设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量W之中,程序的流程图如图6.1所示。返回本章首页图6.1顺序运算程序流程图源程序如下:DATASEGMENTXDW200YDW100ZDW3000VDW10000WDW2DUP(?)DATAENDSSTACKSEGMENTSTACKDB200DUP(0)STACKENDSCODESEGMENTASSUMEDS:DATA,CS:CODE

6、,SS:STACKSTART:MOVAX,DATAMOVDS,AX;DATA→AXMOVAX,XIMULY;(X)*(Y)→DX:AXMOVCX,AXMOVBX,DX;(DX:AX)→(BX:CX)MOVAX,ZCWD;(Z)符号扩展ADDCX,AXADCBX,DX;(BX:CX)+(DX:AX)→(BX:CX)SUBCX,540SBBBX,0;(BX:CX)-540→(BX:CX)MOVAX,VCWD;(V)符号扩展SUBAX,CXSBBDX,BX;(DX:AX)-(BX:CX)→(DX:AX)IDIVX;(DX:AX)/XMOVW,AX;商

7、→WMOVW+2,DX;余数DX→W+2MOVAH,4CHINT21HCODEENDS;退出DOS状态ENDSTART【例6.2】【例6.2】已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在TAB表中,要查的学生的学号放在变量NO中,查表结果放在变量ENGLISH中。编写程序如下:STACKSEGMENTSTACKDB200DUP(0)STACKENDSDATASEGMENTTABDB80,85,86,71,79,96DB83,56,32,66,78。84NODB10ENGLISTDB?DATAENDSCODESEGMENTASSU

8、MEDS:DATA,SS:STACK,CS:CODEBEGIN:MOVAX,DATAMOVDS,AXLEABX,TABMOVAL,NODELALXLA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。