- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8086汇编语言循环编程
5.6.3 循环程序设计;1.循环程序的组成
一个循环程序通常由四部分构成:
⑴ 初始化部分
建立循环初始值。如初始化地址指针,计数器,其他循环参数的起始值等。
⑵ 工作部分
它是循环程序的这主要部分,是为完成某种特定功能而设计的程序段。
⑶ 修改部分
为保证正确的循环而修改某些参数。如修改计数器的值、操作数地址等。
⑷ 控制部分;判断循环结束条件是否成立。这是循环程序设计的关键。通常判断循环是否结束的办法有两种:
① 用计数控制循环:循环是否已进行预定次数,它适用于已知循环次数的循环程序设计;
② 用条件控制循环:循环终止条件是否已成立,它适用于未知循环次数的循环程序设计。
2.循环控制方法
⑴ 用计数控制循环;[例3] 在xx单元开始的连续单元中存放有10个无符号数,从中找出中最大者送yy单元。
根据题意,我们把第一个数先送入AL寄存器中,然后将AL中的数与后面的9个数逐个进行比较。如果AL中的数较小,则两数交换;如果AL中的数大,则不交换。在比较过程中,AL中始终保持较大的数,这样,比较9次后,则最大的数在AL中,最后把AL中的数(最大者)存入yy单元。
由此可画出程序的流程图:;从一批数中求最大者流程图;程序编写如下:
DATA SEGMENT
xx DB 49,38,65,12,97,13,55,27,28,85
yy DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA
MOV DS, AX
LEA BX, xx
MOV AL, [BX]
MOV CX, 9; LOOP1: INC BX
CMP AL, [BX]
JAE LOOP2
XCHG AL, [BX]
LOOP2: DEC CX
JNZ LOOP1
MOV yy, AL
MOV AH, 4CH
INT 21H
CODE ENDS
END START;(2)用条件控制循环
有些情况无法确定循环次数,但是循环何时结束,可用某种条件来确定。这时,编制程序主要是寻找控制条件及对控制条件的检测。
[例5] 从自然数1开始累加,直到累加和大于1000为止,统计被累加的自然数的个数,并把统计的个数送入n单元,把累加和送入sum单元。
根据题意,被累加的自然数的个数事先是未知的,也就是说,循环的次数是未知的,因此不能用计数器方法控制循环。但题目中给定一个重要条件,即累加和大于1000则停止累加,因此,可以根据这一条件控制循环。我们用CX寄存器统计自然数的个数,用AX寄存器存放累加和,用BX寄存器存放每次取得的自然数。;程序的流程图如下所示。; 程序编写如下:
DATAS SEGMENT
n DW ?
sum DW ?
DATAS ENDS
STACK SEGMENT PARA STACK ’stack’
DW DUP(?)
STACK ENDS
CODES SEGMENT
MAIN PROC FAR
ASSUME CX:CODES, DS:DATAS, SS:STACK
START: PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DATAS
MOV DS, AX; MOV CX, 0
MOV AX, 0
MOV BX, 0
LOOPT: INC BX
ADD AX, BX
INC CX
CMP AX, 1000
JLE LOOPT
MOV n, CX
MOV sum, AX
RET
MAIN ENDP
CODES ENDS
END START;3.多重循环程序设计
多重循环又称循环嵌套,即循环套循环。有些问题比较复杂,单重循环难以解决,必须使用多重循环。在使用多重循环时,必须注意以下几点:
⑴ 内循环必须完整地包含在外循环内,内外循环不能相互交叉。
⑵ 内循环既可以嵌套
您可能关注的文档
最近下载
- 利用DEFORM-3D模拟镦粗锻造.doc VIP
- 08 威科夫进阶课程.pdf VIP
- CB 673-2020 出入舱口盖规范.pdf
- GA_T 1788.1-2021 公安视频图像信息系统安全技术要求 第1部分:通用要求.doc VIP
- 大体积混凝土监理实施细则.docx VIP
- (正式版)D-L∕T 343-2010 额定电压66kV~220kV交联聚乙烯绝缘电力电缆GIS终端安装规程.docx VIP
- 危险化学品安全管理与安全技术培训.ppt VIP
- GPS33E巨人通力调试说明书.pdf VIP
- 重大接待保障措施(环卫作业).doc VIP
- 危险物品安全航空运输技术细则(20201016014015).pdf VIP
文档评论(0)