第6-汇编语言程序设计.pptx
《第6-汇编语言程序设计.pptx》由会员分享,可在线阅读,更多相关《第6-汇编语言程序设计.pptx(77页珍藏版)》请在咨信网上搜索。
1、第6章 汇编语言程序设计第6章 汇编语言程序设计6.1汇编语言程序设计基本方法和基本步骤汇编语言程序设计基本方法和基本步骤6.2顺序程序的结构形式和程序设计顺序程序的结构形式和程序设计6.3分支程序的结构形式和程序设计分支程序的结构形式和程序设计6.4循环程序的结构和程序设计循环程序的结构和程序设计6.5子程序结构与设计方法子程序结构与设计方法开开 始始第6章 汇编语言程序设计6.1汇编语言程序设计基本方法和基本步骤汇编语言程序设计基本方法和基本步骤6.1.1 汇编语言程序设计基本步骤汇编语言程序设计基本步骤 6.1.2 结构化程序的概念结构化程序的概念 6.1.3 流程图画法规定流程图画法规
2、定 返回本章首页返回本章首页第6章 汇编语言程序设计6.1.1 汇编语言程序设计的一般步骤汇编语言程序设计的一般步骤汇编语言程序设计一般有以下几个步骤:汇编语言程序设计一般有以下几个步骤:1分析问题,抽象出描述问题的数学模型分析问题,抽象出描述问题的数学模型 2确定解决问题的算法或解题思想确定解决问题的算法或解题思想3绘制流程图和结构图绘制流程图和结构图4分配存储空间和工作单元分配存储空间和工作单元5.编制程序编制程序6.程序静态检查程序静态检查 7.上机调试上机调试 返回本节返回本节第6章 汇编语言程序设计6.1.2结构化程序的概念结构化程序的概念 所所谓谓结结构构化化程程序序设设计计是是指
3、指程程序序的的设设计计、编编写写和和测测试试都都采采用用一一种种规规定定的的组组织织形形式式进进行行,而而不不是是想想怎怎么么写写就就怎怎么么写写。这这样样,可可使使编编制制的的程程序序结结构构清清晰晰,易易于于读读懂懂,易易于于调调试试和和修修改改,充充分分显显示示出出模模块块化化程程序序设设计计的优点。的优点。在在20世世纪纪70年年代代初初,由由Boehm和和Jacobi提提出出并并证证明明的的结结构构定定理理:即即任任何何程程序序都都可可以以由由3种种基基本本结结构构程程序序构构成成结结构构化化程程序序,这这3种种结结构构是是:顺顺序序结结构构、分分支支(条条件件选选择择)结结构构和和
4、循循环环结结构构。每每一一个个结结构构只只有有一一个个入入口口和和一一个个出出口口,3种种结结构构的的任任意意组组合合和和嵌嵌套套就就构构成了结构化的程序。成了结构化的程序。第6章 汇编语言程序设计1顺序结构顺序结构顺序结构是按照语句实现的先后次序执行顺序结构是按照语句实现的先后次序执行一系列的操作,它没有分支、循环和转移一系列的操作,它没有分支、循环和转移 2分支结构(条件选择结构)分支结构(条件选择结构)分支结构根据不同情况做出判断和选择,分支结构根据不同情况做出判断和选择,以便执行不同的程序段。分支的意思是在两个以便执行不同的程序段。分支的意思是在两个或多个不同的操作中选择其中的一个。分
5、为双或多个不同的操作中选择其中的一个。分为双分支结构和多分支结构分支结构和多分支结构 第6章 汇编语言程序设计3循环结构循环结构循环结构是重复执行一系列操作,直到循环结构是重复执行一系列操作,直到某个条件出现为止。循环实际上是分支结构某个条件出现为止。循环实际上是分支结构的一种扩展,循环是否继续是依靠条件判断的一种扩展,循环是否继续是依靠条件判断语句来完成的。按照条件判断的位置,可以语句来完成的。按照条件判断的位置,可以把循环分为把循环分为“当型循环当型循环”和和“直到型循环直到型循环”。第一种情况是先作条件判断,第二种情况是第一种情况是先作条件判断,第二种情况是先执行一次循环,然后判断是否继
6、续循环。先执行一次循环,然后判断是否继续循环。基本逻辑图下图所示。基本逻辑图下图所示。第6章 汇编语言程序设计第6章 汇编语言程序设计6.1.3 流程图画法规定流程图画法规定 1流程图的概念流程图的概念流流程程图图是是由由特特定定的的几几何何图图形形、指指向向线线、文文字字说说明明来来表表示示数数据据处处理理的的步步骤骤,形形象象描描述述逻逻辑辑控控制制结结构构以以及及数数据据流流程程的的示示意意图图。流流程程图图具具有有简简洁洁、明明了了、直观的特点。直观的特点。2流程图符号表示流程图符号表示(1)起止框:表示程序)起止框:表示程序的开始和结束。的开始和结束。起止框起止框第6章 汇编语言程序
7、设计(2)判断框)判断框(3)处理框)处理框(4)调用框)调用框 第6章 汇编语言程序设计(5)指向线)指向线(6)连接框)连接框 返回本节返回本节第6章 汇编语言程序设计6.2顺序程序设计顺序程序设计下面举例说明顺序程序的设计。下面举例说明顺序程序的设计。【例例6.1】试编写一程序计算以下表达式的值。试编写一程序计算以下表达式的值。=(v-(*+-540)/x式中式中x、v均为有符号字数据。均为有符号字数据。设设、的的值值存存放放在在字字变变量量、V中中,结结果果存存放放在在双双字字变变量量之之中中,程程序序的的流流程程图图如如图图6.1所示。所示。返回本章首页返回本章首页第6章 汇编语言程
8、序设计图图6 6.1 1 顺顺序序运运算算程程序序流流程程图图第6章 汇编语言程序设计源程序如下:源程序如下:DATASEGMENTXDW200YDW100ZDW3000VDW10000W DW2 DUP(?)(?)DATAENDSSTACK SEGMENT STACK DB 200 DUP(0)STACK ENDSCODESEGMENTASSUME DS:DATA,CS:CODE,SS:STACK第6章 汇编语言程序设计START:MOVAX,DATAMOV DS,AX;DATAAXMOV AX,X IMULY;(;(X)*(Y)DX:AXMOV CX,AXMOV BX,DX;(;(DX:A
9、X)(BX:CX)MOV AX,ZCWD;(;(Z)符号扩展)符号扩展ADD CX,AXADC BX,DX;(;(BX:CX)+(DX:AX)(BX:CX)SUB CX,540SBB BX,0;(;(BX:CX)-540(BX:CX)MOV AX,V 第6章 汇编语言程序设计CWD;(;(V)符号扩展)符号扩展SUBAX,CXSBBDX,BX;(DX:AX)-(BX:CX)(DX:AX)IDIV X;(;(DX:AX)/XMOVW,AX;商;商WMOVW+2,DX;余数;余数DXW+2MOVAH,4CHINT 21HCODE ENDS;退出;退出DOS 状态状态ENDSTART第6章 汇编语言
10、程序设计【例例6.2】【例例6.2】已已知知某某班班学学生生的的英英语语成成绩绩按按学学号号(从从1开开始始)从从小小到到大大的的顺顺序序排排列列在在TAB表表中中,要要查查的的学学生生的的学学号号放放在在变变量量NO中中,查查表表结结果果放放在变量在变量ENGLISH中。编写程序如下:中。编写程序如下:第6章 汇编语言程序设计STACK SEGMENT STACKDB 200 DUP(0)STACK ENDSDATASEGMENTTABDB 80,85,86,71,79,96 DB 83,56,32,66,78。84NO DB 10ENGLISTDB?DATAENDSCODE SEGMENT
11、第6章 汇编语言程序设计 ASSUME DS:DATA,SS:STACK,CS:CODEBEGIN:MOVAX,DATAMOV DS,AXLEA BX,TAB MOV AL,NODEL ALXLATTABMOV ENGLISH,ALMOV AH,4CHINT21HCODEENDSEND BEGIN第6章 汇编语言程序设计6.3分支程序的结构和程序设计分支程序的结构和程序设计6.3.1 分支程序的结构形式分支程序的结构形式6.3.2 分支结构的程序设计分支结构的程序设计返回本章首页返回本章首页第6章 汇编语言程序设计6.3.1 分支程序的结构形式分支程序的结构形式 8086/8088指指令令系系
12、统统具具有有许许多多种种条条件件转转移移指指令令,这这就就说说明明8086/8088计计算算机机系系统统具具有有很很强强的的逻逻辑辑判判断断能能力力,并并且且能能够够根根据据这这种种逻逻辑辑判判断断选选择择执执行行不不同同的的程程序序段段。也也就就是是说说,当当条条件件满满足足时时进进行行某某种种处处理理,当当条条件件不不满满足足时时又进行另外一种处理。又进行另外一种处理。分支程序的结构可以有两种形式:双分分支程序的结构可以有两种形式:双分支结构和多分支结构。支结构和多分支结构。流程图如下所示。流程图如下所示。第6章 汇编语言程序设计(1)双分支结构第6章 汇编语言程序设计(2)双分支结构第6
13、章 汇编语言程序设计(3)多分支结构程序设计第6章 汇编语言程序设计6.3.2 分支结构程序设计分支结构程序设计1简单的双分支程序设计简单的双分支程序设计【例例6.3】已知在内存中有一个字节单元已知在内存中有一个字节单元NUM,存有带,存有带符号数据,要求计算出它的绝对值后,放入符号数据,要求计算出它的绝对值后,放入RESULT单元中。单元中。题目分析:根据数学中绝对值的概念知道,一个题目分析:根据数学中绝对值的概念知道,一个正数的绝对值是它本身,而一个负数的绝对值是它的正数的绝对值是它本身,而一个负数的绝对值是它的相反数;要计算一个数的相反数,需要完成减法运算,相反数;要计算一个数的相反数,
14、需要完成减法运算,即用即用0减去这个数。减去这个数。8086/8088指令系统中有专门的指令系统中有专门的求相反数的指令求相反数的指令NEG。流程图如下:流程图如下:第6章 汇编语言程序设计第6章 汇编语言程序设计程序如下:程序如下:DATASEGMENT X DB -25 RESULT DB?DATAENDSCODESEGMENT ASSUME DS:DATA,CS:CODESTART:MOVAX,DATA MOVDS,AX;初始化 MOVAL,X ;X取到AL中第6章 汇编语言程序设计 TEST AL,80H;测试AL正负 JZ NEXT ;为正,转NEXT NEG AL ;否则AL求补N
15、EXT:MOV RESULT,AL;送结果 MOV AH,4CH INT 21H;返回DOSCODEENDS END START ;汇编结束第6章 汇编语言程序设计2多分支程序设计多分支程序设计多多分分支支结结构构是是有有若若干干个个条条件件,每每一一个个条条件件对对应应一一个个基基本本操操作作。分分支支程程序序就就是是判判断断产产生生的的条条件件,哪哪个个条条件件成成立立,就就执执行行哪哪个个条条件件对对应应操操作作的的程程序序段段。也也就就是是说说,从若干分支中选择一个分支执行。从若干分支中选择一个分支执行。多多分分支支结结构构实实现现的的方方法法有有:条条件件选选择择法法、转转移移表表法
16、和地址表法。法和地址表法。条件选择法条件选择法一个条件选择指令可实现两路分支,多个条件选一个条件选择指令可实现两路分支,多个条件选择指令就可以实现多路分支。这种方法适用于分支数较择指令就可以实现多路分支。这种方法适用于分支数较少的情况。少的情况。第6章 汇编语言程序设计用条件转移指令实现程序分支用条件转移指令实现程序分支【例例6.4】编写计算下面函数值的程序:编写计算下面函数值的程序:1X0Y=0X=0 -1X设设输输入入数数据据为为X、输输出出数数据据Y,且且皆皆为为字字节变量。程序流程图如下图所示。节变量。程序流程图如下图所示。第6章 汇编语言程序设计第6章 汇编语言程序设计程序如下:程序
17、如下:DATA SEGMENT X DB -25 Y DB?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX ;初始化;初始化 MOV AL,X ;X取到取到AL中中第6章 汇编语言程序设计CMP AL,0 ;Al中内容和中内容和0比较比较JGE BIG ;大于等于;大于等于0,转,转BIGMOV BL,-1 ;否则为负数,;否则为负数,1送送BLJMP EXIT ;转到结束位置;转到结束位置BIG:JE EE ;Al中中内内容容是是否否为为0,为为0转转EEMOV BL,1 ;否则为大于;否则为大于
18、0,1送送BL JMP EXIT ;转转到到结结束束位位置置EE:MOV BL,0 ;0送送BL第6章 汇编语言程序设计 EXIT:MOV Y,BL ;BL中内容送中内容送Y单元单元 MOV AH,4CH INT 21H ;程序结束程序结束CODE ENDS END START;汇编结束汇编结束第6章 汇编语言程序设计【例例6.5】【例例6.5】试试编编一一程程序序,求求三三个个带带符符号号字字数数据据中中的的最最大大值值,并并将将最最大大值值存存入入MAX字字单单元元中。中。设三个带符号数分别在三个字变量设三个带符号数分别在三个字变量X、Y、Z中存储。程序流程图如下图中存储。程序流程图如下图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。