- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章_第01讲_程序设计的基本方法
简单条件转移指令具有如下的特点:1.简单条件转移指令是根据单一标志位的状态来确定转移的方向的;2.由于在简单转移指令中,只能够使用短标号,当超出了转移的范围时,必须使用JMP无条件转移指令搭桥跳转;3.另外,简单条件转移指令不能作段间转移,也不能用作间接转移;4.最后强调一下,简单条件转移指令,不影响标志位的值,可以连续使用简单条件转移指令,产生多个分支。 * 学习了简单条件转移指令,下面我们来学习无符号数条件转移指令。无符号数条件转移指令往往跟在比较指令之后,根据与无符号数特征有关的标志位CF和ZF的组合来决定转移的方向。分别是JA、JAE和JB、JBE,代表大于、大于等于和小于、小于等于。与简单条件转移指令一样,在无符号数条件转移指令中,只能够使用短标号。即只能够在段内进行跳转。 * 首先来看一看无符号数大于转移指令JA,当CF=0并且ZF=0的时候,JA指令进行跳转。他的作用是用于两个无符号数大小的比较,通常跟在CMP指令的后面,只有目的操作数大于源操作数的时候,才进行跳转。 * 了解了JA指令的工作原理,就很容易理解JAE、JB和JBE指令了,这些指令都比较简单,在这里不再多述了,同学们应该能根据这些指令的特点分类学习和记忆。 * 关于无符号数条件转移指令,在使用时,首先将目的操作数和源操作数看成是无符号数,并且执行目的操作数减源操作数的操作,如果目的操作数大于源操作数,那么CF标志位一定为0,并且ZF标志位一定为0,此时可以使用JA指令。如果目的操作数小于源操作数,那么CF的值为1,ZF的值为0,此时可以使用JB指令。当目的操作数和源操作数相等时,CF的值为0,ZF的值为1,此时可以使用JAE指令或者是JBE指令。 * 那么CF和ZF标志位是否可以用作判断有符号数大小比较的标志位呢。首先,我们来看一看有符号数相减的结果,如表所示。结果显示不用用CF和ZF的组合来判断有符号数的大小,必须使用SF、OF和ZF的组合来判断有符号数的大小。 * 有符号数条件转移指令分别是JG、JGE、JL和JLE指令。当SF=OF并且ZF=0时,使用JG表示大于转移指令。当SF=OF并且ZF=1时,使用JGE表示大于等于转移指令。当SFOF并且ZF=0时,使用JL表示小于转移指令。当SFOF并且ZF=1时,使用JLE表示小于等于转移指令。 * 我们以JL指令为例来分析有符号数条件转移指令。当SFOF并且ZF为0的时候,表明目的操作数小于源操作数,此时将进行跳转,具体我们来分析一下,两个有符号数进行相减时,有SF和OF有哪几种情况。分析可以看出,当SFOF时,均表示有符号的目的操作数小于有符号的源操作数。 * 关于有符号数的大于等于、大于和小于等于的指令涵义,同学们可以自己实验和体会,在这里不再多述。 * 下面对有条件转移指令进行总结。在80X86汇编语言中,有条件的转移指令分为3类,分别是简单条件转移指令、有符号数条件转移指令和无符号数条件转移指令。他们都只能使用短标号,也就是说他们都只能在段内进行跳转。与简单条件跳转指令相关的标志位包括SF、CF、ZF、OF和PF,共10条指令。当进行有符号数大小比较的时候,使用JG、JGE、JL和JLE指令。当进行无符号数大小比较的时候,使用JA、JAE、JB和JBE指令。条件转移指令均可以用于分支程序的设计,他们都不影响标志位,可以连续使用设计多路跳转的程序。 * 那么,在80X86程序设计时,到底该如何选择条件转移指令呢。选择什么指令,是依据解题的要求和被判断对象的特点进行的。首先运算或者比较指令是不管当前的数到底是有符号数还是无符号数的,他们根据运算结果既按照有符号数来设置标志位,同时也按照无符号数来设置标志位,只等条件转移指令来选择相应的标志位进行判断跳转。在之前的学习中,已经指出,在80X86汇编语言中,数字本身到底是有符号数还是无符号数,不是由自身的写法决定,而是由能够区分它们的指令来决定的,如果想按照有符号数处理,就选择有符号数的处理指令。如果想按照无符号数处理,就选择无符号数的处理指令。另外在选择指令时,一定要了解指令是否对标志位产生了影响,如果指令对标志位没有产生影响,那么就不能选择对应的跳转指令了。例如,INC、DEC指令对CF标志位都没有影响,因此选择JC和JNC指令都是错误的指令。 * 以上是条件转移指令的一个应用实例,同学们可以自己分析,理解该程序实现的功能。 * 学习了条件转移指令,现在我们来学习无条件转移指令。无条件转移指令的符号是JMP,所谓无条件转移指令,就是无论当前标志位寄存器的状态如何,都是的CPU无条件的转移到指令指明的目标位置执行,无条件转移指令转移的范围大,灵活性好。但是,在这里需要提醒同学们注意的是,JMP指令不能构成分支程序,但是可以将各个分支的出口重新汇
您可能关注的文档
- 第2节 光的反射.ppt
- 第四章 学前儿童注意的发展.ppt
- 第四章 第二个十年的散文.pptx
- 第2节课:站内SEO.ppt
- 第2节不同等级城市的服务功能.ppt
- 第四章 音节和音节结构.ppt
- 第四章 类图和对象图2.ppt
- 第四章 发型与脸部的关系.ppt
- 第四章 AP1000反应堆结构设计(杜圣华).ppt
- 第2篇_金属切削加工.ppt
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 第十一单元第二十一节德彪西教学课件-2021-2022学年高中音乐人音版必修音乐鉴赏.pptx
- 人教中图版(2019)信息技术必修2 1.2 认识信息社会 教案(表格式).docx
- 高性能低表面处理环氧涂料的制备和性能研究.docx VIP
- 永临结合及转换方案-投标200页简易版.docx
- 【语文】人教部编版语文八年级上册:古诗文理解性默写(完整版).pdf VIP
- 基本乐理音程介绍PPT课件.pptx
- GB_T27065-2015_合格评定产品、过程和服务认证机构要求.doc
- 环氧改性有机硅树脂低表面能涂料的研制.doc VIP
- 0~3岁婴幼儿心理发展与教育(高职)全套教学课件.pptx
- 语文一年级上册核心素养教案全册.pdf VIP
文档评论(0)