微机原理与接口技术(楼顺天)-第3章7.pptVIP

微机原理与接口技术(楼顺天)-第3章7.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本教案内容 第3章 8086CPU指令系统 汇编语言指令 8086指令分类 数据与转移地址的寻址方式 数据传送类指令 算术运算类指令 逻辑运算类指令 移位类指令 标志位操作指令 * * 转移指令 循环控制指令 子程序调用返回指令 中断调用返回指令 字符串操作指令 I/O输入输出指令 其它指令 宏指令 1.循环程序的基本结构 (A)先循环工作,后循环判定 (DO-UNTIL结构) 循环程序有以下两种结构。 3.10 循环控制指令 初始化准备部分 出口判定 Y N 开 始 结 束 循环工作部分 循环参数调整部分 应用场合:适合于循环次 数已知的情况 循环判定条件:用CX 作减1计 数控制循环 ★要避免出现死循环 3.10 循环控制指令 初始化准备部分 出口判定 Y N 开 始 结 束 循环工作部分 循环参数调整部分 应用场合: 适合于循环次数未知或可能会出现0次循环的情况 循环判定条件:用条件标志 (B)先循环判定,后循环工作 (DO-WHILE结构) ★要避免出现死循环 3.10 循环控制指令 2.循环程序的组成 不管是哪一种循环结构,一个标准的循 环程序应由以下四部分组成: 初始化准备部分 循环工作部分 参数调整部分 出口判定部分 3.10 循环控制指令 初始化准备部分 循环工作部分 这是为循环做准备的,它不在循环体内。 这部分是循环程序解题所需的核心程序,题目要完成的功能在此进行。根据题目要求不同,这部分程序可以很简单,也可以很复杂,甚至是内循环嵌套外循环结构——多重循环程序。 3.10 循环控制指令 参数调整部分 这部分主要用来更新某些数据或修正循环控制的参数,以保证每次循环所完成的功能不是完全重复的。 3.10 循环控制指令 循环出口判定部分 循环程序中至少要有一个出口判定,以保证循环程序正常结束。也有些循环程序有多个出口,程序可以有多个条件作为循环结束的控制,只要其中一个条件满足即可结束循环。 3.10 循环控制指令 从程序上说,以上四个部分的分界可能不是很明确的,有时工作部分与调整部分可能就是同一段程序,但从功能上说,以上几个部分都是必需的。 3.10 循环控制指令 3.循环控制指令 为了便于循环控制,8086/8088CPU 专门设置了一类循环控制类指令: 3.10 循环控制指令 3.10 循环控制指令 格式: LOOP LABEL ;(CX)←(CX)-1, (CX)≠0时转LABEL LOOPZ/LOOPE LABEL ;(CX)←(CX)-1, (CX)≠0且ZF=1时转LABEL LOOPNZ/LOOPNE LABEL ;(CX)←(CX)-1, (CX)≠0且ZF=0时转LABEL JCXZ LABEL ;CX=0时转LABEL 说明: 循环控制指令的寻址方式均为段内直接转移,而且为短转移方式。 3.10 循环控制指令 1. LOOP指令 LOOP(Loop)指令为常用的循环控制指令,(CX)的内容为设定的循环次数,每循环一次(CX)的内容减1,直到(CX)为零时退出循环。其循环结构为: MOV CX, 次数 ;循环准备 标号: ;循环体 LOOP 标号 这里的“标号”与“LOOP 标号”指令之间至多包含128字节,这是因为循环控制指令为短转移指令。 3.10 循环控制指令 2. LOOPZ/LOOPE指令 LOOPZ/LOOPE(Loop if zero/equal)指令与LOOP指令类似,只是当(CX)≠0且ZF=1时才转至LABEL,因此是否循环,除了与设定的循环次数有关外,还与循环中设定的条件是否满足有关。例如: MOV CX, 10 L1: CMP AX,BX ;若(AX)≠(BX),即ZF=0,则退出循环 LOOPZ L1 这种指令非常适合于在指定区域中查找不同的“字符”,当找到不同的“字符”时,会自动提出循环。 3.10 循环控制指令 3. LOOPNZ/LOOPNE LOOPNZ/LOOPNE(Loop if not zero/not equal)指令的功能与LOOPZ/LOOPE指令相反,只是当(CX)≠0且ZF=0时才转至LABEL。

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档