- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
§4-3-3 汇编语言程序设计——循环结构设计 例6 AX寄存器中有一个16位二进制数,编程统计其中1的个数,结果放到CL寄存器。 解:相应程序如下 MOV CL, 0 ;初始化 L1: AND AX, AX ;控制循环 JZ STOP SAL AX, 1 ;循环体 JNC L2 INC CL L2: JMP L1 STOP: HLT 示例: AX = 123A H = 0001 0010 0011 1010 B CL = ; 06 H 2.多重循环: 多重循环设计方法应注意: ⑴初始控制条件。 ⑵循环可以嵌套,并列,但不能交叉。可以从内循环跳到外循环,不可以从外循环中直接跳进内层循环。 ⑶防止死循环。 §4-3-3 汇编语言程序设计——循环结构设计 例7 存储器数据段从BUF开始存放一个字数组,数组中第一个字中存放该数组的长度N,编制一个程序使此数组中的数据按照从小到大的次序排列。 解:采用冒泡排序算法。 从第一个数据开始相邻的数进行比较,若次序不对,两数交换位置。第一遍比较(N—1)次后,最大的数已到了数组尾。 第二遍仅需比较(N一2)次。 共比较(N-1)遍就完成了排序,于是共有两重循环。 程序流程图如下。 §4-3-3 汇编语言程序设计——循环结构设计 §4-3-3 汇编语言程序设计——循环结构设计 ADATA SEGMENT BUF DW N,15,37,8600,A768H,3412H,1256H,76H ADATA ENDS ASTACK SEGMENT STACK ‘STACK’ SA DB 100 DUP(?) TOP LABEL WORD ASTACK ENDS ACODE SEGMENT MAIN PROC FAR ASSUME CS:ACODE, DS:ADATA, SS:ASTACK START: MOV AX, ASTACK MOV SS, AX MOV SP, OFFSET TOP PUSH DS SUB AX, AX PUSH AX MOV AX , ADTAT MOV DS, AX §4-3-3 汇编语言程序设计——循环结构设计 MOV BX, 0 MOV CX, BUF[BX] ;设计数器CX,内循环次数 DEC CX L1: MOV DX, CX ;设计数器DX,外循环次数 L2: ADD BX, 2 MOV AX, BUF[BX] ;取BUF[I]与BUF[I+2] CMP AX, BUF [BX+2] ;若BUF[I]=BUF[I+2]转 JBE CONT1 XCHG AX, BUF[BX+2] ; 否则两数交换 MOV BUF[BX], AX CONT1: LOOP L2 ;内循环 MOV CX, DX ;外循环次数→CX MOV BX, 0 ;地址返回第一个数据 LOOP L1 ;外循环 RET MAIN ENDP ACODE ENDS END START §4-3-3 汇编语言程序设计——循环结构设计 例8 排序可采用另一种算法,用设置标志的方法排序。当排序已完成,即没有数进行交换时,可以结束外循环,不必循环N—l遍,节省了操作时间。
您可能关注的文档
最近下载
- 苏教版五年级上册《我们的大脑》教学设计.docx
- 贵州省2024年高三年级4月适应性考试 地理试卷.docx
- GEUPS维护及故障讲课文档.ppt VIP
- 触摸屏技术的原理及应用.docx VIP
- 路桥施工计算手册.docx
- 年产50吨瑞舒伐他汀钙、5吨匹伐他汀钙、50吨恩格列净、50吨恩格列净中间体EM1、5吨贝曲西班马来酸盐、200吨阿托伐他汀中间体B-4、200吨瑞舒伐他汀中间体D-1等产品项目环境影响报告书.pdf
- 六年级美术上册《劳动最光荣》课件.ppt
- 抖音直播间1000个违禁词(一举夺葵版).docx
- 反渗透法海水淡化产品水水质控制指标及水质调整措施.pdf VIP
- 《论语》论仁、孝、君子、教育.doc
文档评论(0)