汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt

汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt

ID:50482663

大小:284.00 KB

页数:76页

时间:2020-03-09

汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt_第1页
汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt_第2页
汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt_第3页
汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt_第4页
汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt_第5页
资源描述:

《汇编语言与接口技术 第2版 教学课件 作者 叶继华 第5章 汇编语言程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章汇编语言程序设计5.1概述5.2顺序程序设计5.3分支程序设计5.4循环程序设计5.5子程序设计4.6模块化程序设计开始5.1概述5.1.1汇编语言程序设计的一般步骤5.1.2流程图返回本章首页5.1.1汇编语言程序设计的一般步骤汇编语言程序设计一般有以下几个步骤:1.分析问题,确定算法2.绘制流程图3.根据流程图编制程序4.调试程序返回本节5.1.2流程图1.流程图的概念流程图是由特定的几何图形、指向线、文字说明来表示数据处理的步骤,形象描述逻辑控制结构以及数据流程的示意图。流程图具有简洁、明了、直观的特点。2.流程图符号表示(1)起止框:表示程序的开始和结束。起止框(2)判断框(3)

2、处理框(4)调用框(5)指向线(6)连接框返回本节5.2顺序程序设计下面举例说明顺序程序的设计。【例5.1】试编写一程序计算以下表达式的值。w=(v-(x*y+z-540))/x式中x、y、z、v均为有符号字数据。设x、y、z、v的值存放在字变量X、Y、Z、V中,结果存放在双字变量W之中,程序的流程图如图4.1所示。返回本章首页图5.1顺序运算程序流程图源程序如下:DATASEGMENTXDW200YDW100ZDW3000VDW10000WDW2DUP(?)DATAENDSSTACKSEGMENTSTACKDB200DUP(0)STACKENDSCODESEGMENTASSUMEDS:DAT

3、A,CS:CODE,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;商→WMOVW+2,DX;余数DX

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

5、,AXLEABX,TABMOVAL,NODECALXLATTABMOVENGLISH,ALMOVAH,4CHINT21HCODEENDSENDBEGIN5.3分支程序设计5.3.1用条件转移指令实现程序分支5.3.2用跳转表实现多路分支返回本章首页5.3.1用条件转移指令实现程序分支【例5.3】编写计算下面函数值的程序:1X>0Y=0X=0-1X设输入数据为X、输出数据Y,且皆为字节变量。程序流程图如图4.2所示。程序如下:图5.2分支运算程序流程图DATASEGMENTXDB-10YDB?DATAENDSSTACKSEGMENTSTACKDB200DUP(0)STACKENDSCODESEG

6、MENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXCMPX,0;与0进行比较JGEA1;X≥0转A1MOVY,-1;X<0时,-1→YJMPEXITA1:JGA2;X>0转A2MOVY,0;X=0时,0→YJMPEXITA2:MOVY,1;X>0,1→YEXIT:MOVAH,4CHINT21HCODEENDSENDSTARTMOVDS,AXCMPX,0;与0进行比较JGEA1;X≥0转A1MOVY,-1;X<0时,-1→YJMPEXITA1:JGA2;X>0转A2MOVY,0;X=0时,0→YJMPEXITA2:MOVY,1;X

7、>0,1→YEXIT:MOVAH,4CHINT21HCODEENDSENDSTART【例5.4】试编一程序,求三个带符号字数据中的最大值,并将最大值存入MAX字单元中。设三个带符号数分别在三个字变量X、Y、Z中存储。程序流程图如图5.3所示图5.3[例5.4]程序流程图程序如下:STACSEGMENTSTACKDB200DUP(0)STACKENDSDATASEGMENTXDW00ABHYDW–5

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

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

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