东北大学汇编语言第06章分支结构程序.ppt

东北大学汇编语言第06章分支结构程序.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章分支结构程序 6.1分支结构程序的引出 6.2转移指令 6.3分支结构程序设计 6.4多分支结构程序设计 6.1分支结构程序的引出 用计算机处理问题过程中,总是要求计算机能做出各种逻辑判断,并根据判断的结果,做相应的处理。 例如,火车站用计算机计算托运行李的托运费,当旅客行李重量小于或等于20kg时,收费0.2元/kg,当行李重量超过20kg时,20kg以内部分0.2元/kg,超出部分,收费0.3元/kg。这个处理过程,可归纳为下面数学表达式: 0.2w(w≤20kg) 0.2*20+0.3*(w-20)(w20kg) 6.2转移指令 6.2.1无条件转移指令 6.2.2条件转移指令 6.2.1无条件转移指令 指令汇编格式:JMP targ 操作:段内转移:IP←目标的偏移地址 段间转移:IP←目标的偏移地址 CS←目标所处代码段的基址 受影响的状态标志位:无 说明:指令中的targ可以是直接标号、寄存器间接或存储器间接寻址形式。 6.2.1无条件转移指令 (1)段内转移(NEAR) 1)段内直接转移 JMP LABEL_N ;LABEL_N在当前代码段 JMP SHORT LABEL_N ;LABEL_N在当前代码段,且在-128~127范围内; 例: 6.2.1无条件转移指令 CSEG SEGMENT ASSUME CS:CSEG START: JMP L1 JMP SHORTL2 JMP L2 JMP START L2: NOP ORG L2+100H L1: NOP CSEG ENDS END 6.2.1无条件转移指令 0000 CSEG SEGMENT ASSUME CS:CSEG 0000E9010AR START: JMP L1 0003EB05 JMP SHORTL2 0005EB0390 JMP L2 0008EBF6 JMP START 000A90 L2: NOP 010A ORG L2+100H 010A90 L1: NOP 010B CSEG ENDS END 6.2.1无条件转移指令 (1)段内转移(NEAR) 2)段内寄存器间接转移 JMP AX 3)段内存储器间接转移 JMP [SI] JMP WORD PTR[BX+DI+1000H] 6.2.1无条件转移指令 (2)段间转移(FAR) 1)段内直接转移 JMP LABEL—F 2)短内存储器直接转移 LABEL_D DD JMP LABEL_D JMP DWORD PTR [BX]  6.2.2条件转移指令 条件转移指令是根据CPU中状态标志位的状态决定程序执行的流程,既可能产生程序转移,也可能不产生程序转移。条件转移指令是以对不同的状态标志的测试为条件。如果 条件成立,则控制转移到指令中所给出的转移目标。条件不成立,程序将顺序执行。所有的条件转移指令均为短(short)转移。 6.2.2条件转移指令 1.根据单标志转移的指令 6.2.2条件转移指令 2.根据两数(A,B)的大小关系转移的指令 (1)使用该指令前用过比较(CMP A,B)、减法(SUB A,B、SBB A,B)指令。 (2)A与B的关系共有6种: AB A≥B A≤B A=B AB A≠B (3)比较转移时分无符号数和带符号数。例如: A B 6.2.2条件转移指令 6.2.2条件转移指令 CMP A,B JL XXX SF^OF=1(SF=1OF=0,SF=0OF=1) 例: A=81H B=02H CMP A,B 结果 SF=0,OF=1 6.3分支结构程序设计-例6.1 例6.1 设X为单字节带符号整数,且存于ARGX单元,计算结果Y存入RLT单元。 6.3分支结构程序设计-例6.1 6.3分支结构程序设计-例6.2 例6.2设内存中有三个互不相等的无符号字数据,分别存放在ARG开始的字单元,编制程序将其中最大值存入MAX单元。 6.3分支结构程序设计-例6.2 6.3分支结构程序设计-例6.3 例6.3内存由ADR单元开始存放两个带符号字数据,编制程序,若两数同号将FLAG单元置0,否则置全1。 判断两数是否同号,即判断两个数的最高位是否相同,若相同即为同号。判断

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档