第5章-循环与分支程序设计2013.ppt

第5章-循环与分支程序设计2013.ppt

ID:58001224

大小:687.00 KB

页数:76页

时间:2020-09-04

第5章-循环与分支程序设计2013.ppt_第1页
第5章-循环与分支程序设计2013.ppt_第2页
第5章-循环与分支程序设计2013.ppt_第3页
第5章-循环与分支程序设计2013.ppt_第4页
第5章-循环与分支程序设计2013.ppt_第5页
资源描述:

《第5章-循环与分支程序设计2013.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、循环程序设计分支程序设计第5章循环与分支程序设计分支结构子程序结构程序结构:复合结构:多种程序结构的组合…顺序结构循环结构编制汇编语言程序的步骤:(1)分析题意,确定算法(2)根据算法画出程序框图(3)根据框图编写程序(4)上机调试程序5.1循环结构程序设计(1)初始化部分:设置循环的初始状态这是循环的准备部分,为程序操作、地址指针、循环计数、结束条件等设置初始值。(2)循环体:循环的工作部分及修改部分,包括以下3个部分:循环工作部分------这是循环程序的主体,完成程序的基本操作,循环多少次,这部分语句就执行多少次。

2、循环修改部分-----修改循环工作部分的变量地址等,这保证每次重复时,参加执行的数据能发生有规律的变化。循环控制部分-----保证循环条件满足时进入循环;循环结束条件不满足时,退出循环,执行循环体外的后续语句。(3)循环结束部分完成循环结束后的处理,如数据分析、结果的存放等。循环程序典型结构【例5.1】P163在ADDR单元中存放着数Y的地址,试编制一程序把Y中(指数Y所有二进制位中包含)1的个数存入COUNT单元中。(PH163.asm)要测出Y中1的个数就应逐位测试。一个比较简单的办法是可以根据最高有效位是否为1来计数,

3、然后用移位的方法把各位数逐次移到最高位去。图5.1数1的程序框图TITLE数1的程序DATASEGMENTADDRDWNUMBERNUMBERDW12F0H;Y的值COUNTDW?DATAENDSCODESEGMENTMAINPROCFARASSUMECS:CODE,DS:DATASTART:PUSHDSSUBAX,AXPUSHAXMOVAX,DATAMOVDS,AXMOVCX,0MOVBX,ADDRMOVAX,[BX]REPEAT:CMPAX,0JZEXITJNSSHIFTINCCXSHIFT:SHLAX,1JMPREPE

4、ATEXIT:MOVCOUNT,CXRETMAINENDPCODEENDSENDSTARTBX1234【例5.2】P161:把BX中的二进制数以十六进制的形式显示在屏幕上……movch,4rotate:movcl,4rolbx,clmoval,blandal,0fhaddal,30h;’0’~’9’ASCII30H~39Hcmpal,3ahjlprintitaddal,7h;’A’~’F’ASCII41H~46Hprintit:movdl,almovah,2int21hdecchjnzrotate…………movbx,0new

5、char:movah,1;键盘输入int21hsubal,30hjlexit;<0退出cmpal,9jgexit;>9退出cbw;?xchgax,bxmovcx,10mulcxxchgax,bxaddbx,axjmpnewcharexit:……例:从键盘接收十进制数并存入BX((0×10)+1)×10+2)×10+5125313235……movbx,0newchar:movah,1;键盘输入int21hsubal,30hjlexit;<0退出cmpal,10jladd_tosubal,27h;‘a’~‘f’cmpal,0ah

6、jlexit;<‘a’退出cmpal,10hjgeexit;>’f’退出add_to:movcl,4shlbx,clmovah,0addbx,axjmpnewcharexit:……例:从键盘接收十六进制数并存入BX1af316166((0×16)+1)×16+0a)×16+0f循环程序控制方法之一----计数法循环次数已知1.正计数法2.负计数法计数器的初值为0,每执行一遍循环,计数器加1,然后与规定的循环次数比较,若相等,则结束循环,否则继续循环。计数器的初值为循环次数,每执行一遍循环体后,计数器减1,当减为0时,结束循环

7、,否则继续循环。正计数法负计数法【*例5.3A】分别统计COUNT个数据中正、负数的个数。(P139.asm)DATASEGMENTBUFDB-32,25,36,-18,-64,0,-3COUNTEQU$-BUFPLUSDB?MINUSDB?DATAENDS数据定义如下:LOP1:MOVAL,[SI]CMPAL,0JGENEXT0INCBLJMPNEXT1NEXT0:INCDLNEXT1:INCSIINCCXCMPCX,COUNTJLLOP1MOVMINUS,BLMOVPLUS,DLMOVAH,4CHINT21HCODEEN

8、DSDATASEGMENTBUFDB-32,25,36,-18,-64,0,-3COUNTEQU$-BUFPLUSDB?MINUSDB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBL,0MOVDL,

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

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

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