- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章:循环及分支程序设计
第五章 顺序、循环与分支程序设计 5.1 顺序程序设计 顺序程序完全按指令书写的前后顺序执行每一条指令,是最基本、最常见的程序结构。 例5.1 Data segment X dw 33 Y dw 47 Z dw 65 W dw ? Data ends Code segment assume cs:code assume ds:data Begin:mov ax,X add ax,Y adc ax,Z mov W,ax mov ah,4ch int 21h Code ends end Begin 例5.2 qvar dq 1234567887654321h mov al,byte ptr qvar[6] mov byte ptr qvar[7],al mov al,byte ptr qvar[5] mov byte ptr qvar[6],al mov al,byte ptr qvar[4] mov byte ptr qvar[5],al mov al,byte ptr qvar[3] mov byte ptr qvar[4],al 例5.2 64位数据左移8位的图示 5.2 循环程序设计 循环结构一般是根据某一条件判断为真或假来确定是否重复执行循环体。 循环指令和转移指令可以实现循环控制 例5.3 计算1~100数字之和 .model small .stack 256 .data sum dw ? .code begin: mov ax,@data mov ds,ax xor ax,ax ;被加数AX清0 mov cx,100 again: add ax,cx ; loop again mov sum,ax ;将累加和送入指定单元 mov ah,4ch int 21h end begin 例5.4 确定wordX中1的最低位数 begin: mov ax,wordX ;测试目标送AX mov cx,16 ;循环计数器置初值 mov dl,-1 ;计位器置初值 again: inc dl test ax,1 ror ax,1 ;循环指令不影响ZF loope again ;CX≠0且ZF=1(测试位为0) ;继续循环 je notfound mov byteY,dl jmp done notfound:mov byteY,-1; ZF=1,测试目标的16个位均为0 done: mov ah,4ch int 21h 例5.5 大写字母改为小写字母 Begin: mov bx,offset string again: mov al,[bx] ;取一个字符 or al,al ;是否为结尾符0 jz done ;是,退出循环 cmp al,A ;是否为大写A~Z jb next cmp al,Z ja next or al,20h ;是,转换为小写字母(使D5=1) mov [bx],al ;仍保存在原位置 next: inc bx jmp again ;继续循环 done: mov ah,4ch int 21h 例5.6 对数组元素排序:冒泡法 mov cx,count ;CX←数组元素个数 dec cx ;元素个数减1为外循环次数 outlp: mov dx,cx ;DX←内循环次数 mov bx,offset array inlp: mov al,[bx] ;取前一个元素 cmp al,[bx+1] ;与后一个元素比较 jna next;前一个不大于后一个元素,则不进行交换 xchg al,[bx+1] ;否则,进行交换 mov [bx],al next: inc bx ;下一对元素 dec dx jnz inlp ;内循环尾 loop outlp ;外循环尾 冒泡法 “冒泡法”是一种排序算法,不是最优的算法,但它易于理解和实现。 冒泡法从第一个元素开始,依次对相邻的两个元素进行比较,使前一个元素不大于后一个元素;将所有元素比较完之后,最大的元素排到了最后;然后,除掉最后一个元素之外的元素依上述方法再进行比较,得到次大的元素排在后面;如此重复,直至完成就实现元素从小到大的排序。 这是一个双重循环程序结构。外循环由于循环次数已知,可用loop指令实现;而内循环次数每次外循环后减少一次,我们用DX表示。内循环体比较两个元素大小,又是一个分支结构。 5.3 分支程序设计 分支程序根据条件是真或假决定执行与否。 判断的条件是各种指令,如CMP、TEST等执行后形成的状态标志。
您可能关注的文档
- 第五章 堆焊及热喷涂技术.ppt
- 第五章 平衡膳食及.ppt
- 第五章 数字滤波器基本结构all.ppt
- 第五章 斜坡码头与浮码头.ppt
- 第五章 微生物生长繁殖与生存因子.ppt
- 第五章 建筑施工图识读.ppt
- 第五章 极谱及伏安分析法.ppt
- 第五章 大气运动.ppt
- 第五章 材料在变动载荷下力学性能.ppt
- 第五章 太阳与太阳系3.ppt
- 浅析企业品牌营销策略.pdf
- 【完整版】2019-2025年中国口腔医疗服务行业二三线城市市场拓展策略研究报告.pdf
- 【完整版】2019-2025年中国口腔医疗服务行业成本领先战略制定与实施研究报告.pdf
- 【完整版】2020-2025年中国种植牙行业二三线城市市场拓展策略研究报告.pdf
- 【完整版】2019-2025年中国口腔医疗服务行业市场深度调研及前景趋势预测报告.pdf
- 大学校园绿化管理规定(2).pdf
- 网站类商业计划书模板-简明中文版.pdf
- 【完整版】2019-2025年中国口腔医疗服务行业新市场开拓策略研究报告.pdf
- 【完整版】2019-2025年中国口腔医疗服务行业基于产业变化研究与战略决策咨询报告.pdf
- 山东大学校园物业监管办法范本.pdf
最近下载
- 《室颤及室速病例》课件.pptx VIP
- 人教版英语七年级上教案unit2 第五课时.pdf VIP
- 关于深入贯彻中央八项规定精神学习教育知识竞赛题(含答案).pdf VIP
- 第一部分 先秦两汉文学试题及答案.pdf VIP
- 国家开放大学学习行为表现范文(通用5篇).pdf
- 第8课 隋唐政治演变与民族交融(课件)-【中职专用】《中国历史》魅力课堂教学三件套(高教版2023•基础模块).pptx VIP
- 大学生创业规划计划书.docx VIP
- 《python简明中文教程》.pdf
- 建筑工程图集 05R417-1:室内管道支吊架.pdf VIP
- 显微镜油镜的使用和细菌形态的观察-公开课件(讲义).ppt VIP
文档评论(0)