- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
21世纪高等院校规划教材 第5章 循环程序设计 本章主要讲解循环程序的基本结构和设计方法。通过本章学习,读者应该掌握以下内容: 循环程序的一般结构形式 循环指令 计数型循环与条件型循环 单重循环程序设计方法 多重循环程序设计方法 5.1 循环程序的一般结构 循环程序按照结构可分为单重循环和多重循环,按照循环控制的方法,可分为计数型循环与条件型循环。但是不管哪一种形式,循环程序都是由以下三部分组成: (1)循环初始化部分:为循环做准备工作,如设置循环次数,设置循环体需要的初始值以及控制循环的结束条件等。 (2)循环体部分:这是循环工作的主体,是需要重复执行的部分。其中也包括对循环条件进行修改的程序段。如果循环体中不包括其它的循环程序,则为单重循环结构,否则称为多重循环结构。 (3)循环控制部分:根据循环结束条件判断是否继续循环。在循环次数已知的情况下,可用循环次数作为循环结束的条件,后面介绍的LOOP指令使这种循环很容易实现,这种循环属计数型循环;但是当循环次数未知时,就必须根据具体情况选择合理的结束条件,保证程序正常退出循环,这种循环属条件型循环。 以下的流程图很好地说明了这两种循环结构。 图5-1所示为计数型循环,图5-2所示为条件型循环。 实际应用中,我们可以将循环控制部分放在循环体之前进行,形成“先判断、后循环”的结构形式,也可以将循环控制部分放在循环体之后,形成“先循环、后判断”的结构形式。读者可以根据需要灵活掌握。下面分别举例说明计数型循环和条件型循环的控制方法。 例5-1:已知有n 个8位有符号二进制数,存放在以BUF为首址的字节存储区中,试统计其中正数的个数。 分析:每个元素是一个8位有符号二进制数,因此要判断其是否为正数,需选择带符号数条件转移指令进行判断转移。由于共有n个元素,因此整个程序的结构就是对以上判断重复n次,故选用计数型循环程序实现。 存储单元及寄存器分配如下: BX:BUF存储区的地址指针,初值为BUF的偏移地 址,每循环一次之后,其值加1。 CX:循环计数器,初值为BUF存储区中元素的个数n, 每循环一次之后,其值减1。 AX:用来存放正数的个数,初值为零。 字变量COUNT:用来最终存放正数的个数。 程序流程图如图5-3所示: 源程序如下: STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUF DB 8,10,-5,100,-7,25,40 N =$﹣BUF ;BUF区中元素个数 COUNT DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK BEGIN: MOV AX,DATA MOV DS,AX LEA BX,BUF MOV CX,N ;循环初始部分 MOV AX,0 AGAIN: CMP BYTE PTR [BX], 0 JLE NEXT INC AX ;循环体部分 NEXT: INC BX DEC CX JNZ AGAIN ;控制部分 MOV COUNT,AX ;将正数个数送入COUNT中 MOV AH,4CH INT 21H CODE ENDS END BEGIN 该程序的循环体被重复执行了n次,即当(CX)= n,n-1,…,1时循环执行,当(CX)= 0时结束循环,将正数个数5送入字变量COUNT中。 对这种计数型循环,为了控制循环结束,在进入循环前要先确定循环次数,以后每循环一次就修改计数值,当计数值为零时就结束循环。 读者可以思考以下问题: (1)在循环初始部分,如果将循环次数的负值送入循环计数器CX中,即“MOV CX ,-n”,应该如何修改循环体部分和循环控制部分? (2)如果将0送入循环计数器CX中,即“MOV CX ,0”,应该如何修改程序呢? (3)如果要分别统计出正数、零、负数的个数,应如何设计程序? 例5-2:统计寄存器BX中1的个数,结果存放在COUNT单元中。 分析:要统计BX中1的个数必须进行逐位测试。首先判断最高位是否为1,然后用移位的方法把各位逐次移到最高位进行判断。循环的结束条件可用计数值16来控制,也就是可以用计数型循环来设计。但这种方法的缺点是无论BX中有没有1都必须循环16次。 下面我们用条件控制法,即通过测试BX的值是否为零作为结束条件,这样可以大大缩短循环次数。 存储单元及寄存器分配如下: BX:要测试的
您可能关注的文档
- 2010年高考英语漫画类作文讲解.ppt
- 2011高考生物知识点总结.ppt
- 2011高考英语必看之-英语阅读理解的解题技巧.ppt
- 2011高考英语一轮复习:词汇总复习.ppt
- 2011届高考数学第一轮复习课件之导数及其应用.ppt
- 2011年高考地理难点突破攻略——时政热点的深入综合分析.ppt
- 2011年高考英语书面表达作文万能模板大全.ppt
- 2011年江苏政治“小高考”最后阶段复习建议.ppt
- 2011年五校联考自主招生考前辅导.ppt
- 冲刺2011——现代文阅读命题类型及答题技巧.ppt
- 2024年WPS计算机二级考试题库350题(含答案).pdf
- 2023年新高考历史辽宁卷试题真题答案详解版(精校).pdf
- 2025届高考政治一轮复习:统编版必修4《哲学与文化》考点提纲.pdf
- 新北师大版高中英语必修二课文及翻译.pdf
- 初中道德与法治新人教版七年级上册第一单元《少年有梦》知识点和教材习题答案(2024秋).pdf
- 2025届高考语文复习:统编版选择性必修上册中册下册默写练习题汇编(含答案).pdf
- 精品资料-济公沙锅餐饮公司财务管理手册.pdf
- 2024高中地理学业水平考试重点知识点归纳总结(复习必背).pdf
- 2025年外研版英语中考作文新题型练习题与范文汇编.pdf
- 人教版(2024新版)九年级上册化学:第三单元 物质构成的奥秘教案教学设计(3个课题+1个活动).pdf
最近下载
- 7《短歌行》《归园田居(其一)》 对比联读 教学设计 2024-2025学年统编版高中语文必修上册.docx
- 沪教版 七年级(上)数学 秋季课程 第4讲 整式的乘法(解析版).doc VIP
- 2024年萍乡卫生职业学院单招职业适应性测试模拟试题及答案解析.docx
- 生物 生命活动的主要承担者——蛋白质 专题练习.doc VIP
- 《摩登时代》-公开课件(设计).ppt VIP
- A7-10-制冷系统部件的检修.pdf
- Unit 2 I think that mooncakes are delicious! Section A(Grammar Focus-4c) 课件-九上英语.pptx VIP
- 2024年萍乡卫生职业学院单招职业技能测试题库及答案解析.docx VIP
- 父母借用子女名义购房协议书.doc
- 团体操花球串词.doc
文档评论(0)