2019基本语言程序设计ppt课件.ppt

2019基本语言程序设计ppt课件.ppt

ID:58955088

大小:437.50 KB

页数:111页

时间:2020-09-28

2019基本语言程序设计ppt课件.ppt_第1页
2019基本语言程序设计ppt课件.ppt_第2页
2019基本语言程序设计ppt课件.ppt_第3页
2019基本语言程序设计ppt课件.ppt_第4页
2019基本语言程序设计ppt课件.ppt_第5页
资源描述:

《2019基本语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、封面第5章程序控制结构及其程序设计*****************1第5章基本汇编语言程序设计第5章基本汇编语言程序设计5.1顺序程序设计5.2分支程序设计5.3循环程序设计本章要点及习题分析25.1顺序程序设计(e)5.1顺序程序设计指令按程序中的书写顺序逐条执行,称为顺序程序。除非编程解决非常简单的问题,顺序程序并不多见,但是顺序程序往往是复杂程序结构的一部分,如分支结构的一个分支,循环结构的循环体等。3例5.1例5.1:设有3个字变量x,y和z,求出三者之和,结果存入字变量w。DATASSEGMENTXdw5Ydw6Zdw7Wdw?DATA

2、SENDSCODESSEGMENTASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXmovax,xaddax,yaddax,zmovw,axMOVAH,4CHINT21HCODESENDSENDSTART4【例5-3】将一个字节压缩BCD码转换为两个ASCII码。分析:一个字节的压缩BCD码就是用一个字节的二进制数表示两位十进制数,如十进制数96表示成压缩BCD码就是96H,转换成ASCII码就是把压缩BCD码表示的十进制数的高位和低位分开,并以ASCII码表示,即转换成39H和36

3、H。5DATASEGMENTBCDBUFDB96H;定义1个字节的压缩BCD码ASCBUFDB2DUP(?);定义2个字节的结果单元DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,BCDBUF;取出BCD码MOVBL,AL;送BL暂存MOVCL,4SHRAL,CL;高4位变成低4位,高4位补0(96H→09H)ADDAL,30H;变成ASCII码(39H)6MOVASCBUF,AL;存储第1个ASCII码ANDBL,0FH;屏蔽掉高4位,只保留低4位(96H

4、→06H)ADDBL,30H;变成BCD码(36H)MOVASCBUF+1,BL;存储第2个码MOVAH,4CHINT21HCODEENDSENDSTART7【例5-4】利用直接查表法完成将键盘输入的一位10进制数(0~9)转换成对应的平方值并存放在SQRBUF单元中。分析:0~9的平方值分别为0、1、4、9、16、25、36、49、64、81。把平方值放在一起形成一个平方值表,根据输入的值和对应平方值所在单元地址之间的关系(表首地址加上输入的值),查出相应的平方值。8DATASEGMENTSQUTABDB0,1,4,9,16,25,36,49,6

5、4,81SQUBUFDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA9MOVDS,AXMOVBX,OFFSETSQUTAB;平方表首地址MOVAH,1INT21H;由键盘输入—个数,得到其ASCII码SUBAL,30H;由ASCII码得到相应的数XLAT;查表MOVSQUBUF,AL;存储结果MOVAH,4CHINT21HCODEENDSENDSTART105.2分支程序设计4.2分支程序设计条件转移指令Jcc和无条件转移指令JMP用于实现程序的分支结构,JMP不测试条件,Jcc

6、可根据条件是否成立决定转移到指定位置或不转移而顺序执行后续指令。由于Jcc不支持条件表达式,而是以当前标志位的状态为条件,故Jcc之前一定要安排设置标志位的指令,如加减法、比较、测试等指令。基本分支类型分为单分支和双分支。11单分支1.单分支类型对同一个问题,根据选择的条件不同,单分支结构的流程图有两种画法,对应的程序也有两种编法。如计算AX中的有符号数的绝对值。12单分支cmpax,0jgenonegnegaxNoneg:movresult,axcmpax,0jngeyesnegjmpdoneyesneg:negaxDone:movresult,

7、axAX≥0?求补指令YN保存结果AX<0?求补指令YN保存结果JMP13双分支2.双分支程序两个分支都有语句体,如何选择条件不重要。流程图中分支体的位置就是程序的实际顺序,故分支语句体1最后一定要有一条JMP指令,跳过语句体2,转移到“后续操作”。条件成立?分支语句体2YN分支语句体1后续操作JMP14双分支双分支举例:显示BX的最高位。shlbx,1jcone;转分支体movdl,’0’;分支体1jmpnext;转后续操作One:movdl,’1’;分支体2next:movah,2;后续操作int21h3.分支程序的其他问题⑴有些双分支问题可以

8、先假设一种情况,把双分支改成单分支问题。如上例,先假设BX最高位为0,在分支外准备显示0;如最高位为0,即可直接跳到后续操

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

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

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