- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章循环程序设计new第7章循环程序设计new第7章循环程序设计new
第七章 循环程序设计 -----课本第五章 设问: 1. 怎样用分支结构构成循环? 2.循环指令有哪些? 3.串处理操作是循环执行的吗? 4. 多重循环有什么特点? 5. 如何实现排序? 本章重点 7.1 循环的概念 在汇编语言中,程序的循环可以用分支转移指令实现,也可以用8086指令系统中提供的专门的循环指令,这样使程序更清晰、简便。 除了循环指令之外,还有很多地方用到了循环的概念。例如串处理,需要对串中的字符循环地进行操作。 7.1循环结构 循环结构构成 一般由三部分组成: 初始化:设置循环的初始状态 循环体:循环的工作部分及修改部分 控制条件: 计数控制 特征值控制 地址边界控制 课程小任务 任务1 从键盘输入一个字符,原样输出。 任务2 从键盘输入一个字符,判断当前字符是否为小写,若是,将其转换为大写,将其放入char单元,最后显示输出。 任务3 从键盘输入10个字符,做上述判断,小写字符的将其转换成大写,然后存入char数组,其他字符原样输出。 任务4 完成任务3的基本功能,并将char数组中的数据输出。 程序段: MOV CX,10 MOV SI,0 MOV AH,01H INT 21H CMP AL,’a’ JB DISPLAY CMP AL,’z’ JA DISPLAY SUB AL,20H MOV CHAR,AL INC SI DEC CX JNZ AGAIN MOV DL,AL MOV AH,02H INT 21H 怎样用分支结构构成循环? 任务4重点:如何输出CHAR数组? MOV CX,SI MOV SI,0 MOV DL,CHAR[SI] MOV AH,02H INT 21H INC SI DEC CX JNZ DISPARRAY 7.2循环控制指令 例7.1 求X=1+2+3+…+10的累加值。 MOV AL,0 MOV BL,1 MOV CX,10 acc: ADD AL,BL INC BL LOOP acc ;cx=cx-1,cx≠0? MOV X,AL 2)LOOPZ/LOOPE指令 格式: LOOPZ OPR LOOPE OPR 操作: (CX)=(CX)-1, 若CX≠0,并且ZF=1则跳转到标号OPR处循环执行, 若CX = 0, 或者ZF=0则执行LOOP的下一条指令。 说明:结果为0或相等则循环。 执行流程:当执行到LOOPZ/LOOPE时,如果之前的指令结果为0或者相等时继续循环,如果结果不为0或者不相等,提前退出循环,即使计数值CX还没减为0。 例7.2 10个星号字符的STRING串中有一个字符不是星号,找出该字符的位置,保存在Y单元。 设: STRING DB ******P** …… MOV CX,10 MOV BX,-1 AGAIN: INC BX CMP STRING[BX],* LOOPE AGAIN MOV Y,BX 3)LOOPNZ/LOOPNE指令 不等于继续循环指令 格式: LOOPNZ OPR LOOPNE OPR 操作: (CX)=(CX)-1, 若CX≠0,并且ZF=0则跳转到标号OPR处循环执行, 若CX = 0, 或者ZF=1则执行LOOP的下一条指令。 例7.3 求存放在STRS存储区中的字符串长度。 循环控制方法 分为两类: 计数循环——用于循环次数已知的情况 条件循环——用于循环次数不确定的情况 特征值控制 例7.5 RESULT 7.3 串处理 在汇编语言中,可将连续的n个存储单元称为串、表、数组等。 对于这种数据结构的操作称为串处理。 对串进行操作,需要几个参数,如串的长度、串的起始单元地址等;而且串操作大都是循环执行的,循环如何控制、串的存取方式等都不同于其它数据操作。 数据串搬家: MOV SI,1000 MOV DI,1500 MOV CX,0FH MOV AL,[SI] MOV [DI],AL INC SI INC DI LOOP LOP 7.3.2串处理指令 8086汇编语言指令系统中提供了5种串处理指令。分别是: MOVS (move string) 串传送 CMPS (compare string) 串比较
文档评论(0)