微原转移指令循环控制指令.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微原转移指令循环控制指令.ppt

本教案内容 第3章 8086CPU指令系统 汇编语言指令 8086指令分类 数据与转移地址的寻址方式 数据传送类指令 算术运算类指令 逻辑运算类指令 移位类指令 标志位操作指令 * * 转移指令 循环控制指令 子程序调用返回指令 中断调用返回指令 字符串操作指令 I/O输入输出指令 其它指令 宏指令 寻找的操作数作地址用,给IP或给CS:IP, 从而实现程序的转移。 如果程序转移后只有IP发生了改变,则称 为段内转移或者称为近程转移(也称为NEAR 型转移)。 如果程序转移后CS、IP均发生了改变,则 称为段间转移或者称为远程转移(也称为FAR 型转移)。 3.9 转移指令 8086指令系统中的转移指令有两大类: 无条件转移指令:有JMP、CALL、RET、IRET 条件转移指令:如JZ、JC、JCXZ、LOOP等。 3.9 转移指令 3.9 转移指令 一、无条件转移指令 格式: JMP LABEL ;转移到标号LABEL处执行程序 JMP REG16 ;转移到由通用寄存器REG指定的位置执行程序 JMP MEM ;转移到由存储单元MEM指定的位置执行程序 3.9 转移指令 说明: 在JMP LABEL中,LABEL为标号,当LABEL与该转移指令位于同一个段内时,则为段内直接转移,转移目的地址的(CS)不变,(IP)←(IP)+DISP16,其中DISP16表示转移目的地址与JMP转移指令之间的16位偏移量,这时也称为近(程)转移。当转移目的地址与JMP转移指令之间的偏移量可以用8位有符号数表示时,则(IP)←(IP)+DISP8,这时称为短转移。 当LABEL与JMP指令位于不同段内时,则表示段间直接转移,转移目的地址为(CS)←SEG LABEL,(IP)←(IP)+ OFFSET LABEL,这时也称为远(程)转移。 3.9 转移指令 例如,为完成转移到L1标号处,可以采用JMP L1,这时并不需要特别指出转移指令的种类,宏汇编程序(MASM)会根据标号L1的位置,自动生成相应的指令代码。 如果要根据BX的内容进行转移,即BX中存放有转移的目的地址,则采用 JMP BX指令。 设双字变量VAR1存放有转移的目的地址,则可以采用 JMP VAR1完成程序的段间转移。 3.9 转移指令 例3.29 各种转移方式示例。 解:设在数据段中定义变量: DBT1 DW 0400H DBT2 DD 0100 0020H TAB DW 0600H,0640H,06A0H 则在代码段中有: MOV BX, 2 JMP BX ;转移到CS:0002H JMP DBT1 ;转移到CS:0400H JMP DBT2 ;转移到0100H:0020H JMP TAB[BX+2] ;转移到CS:06A0H JMP WORD PTR[BX] ;转移到本段,偏移地址保存在 DS:0002H与DS:0003H中 3.9 转移指令 二、有条件转移指令 1.对有条件转移指令,只有当给定的条件满足时,才转移到指定的地址,否则执行下一条指令。依据为PSW中的标志位,这些标志位是由上一条指令执行时产生的。 2.条件转移指令的目的地址必须在现行的代码段内,并且以当前IP为基准,其位移必须在-128∽+127内(短转移); 3.所有条件转移指令不影响标志位。 有条件转移指令说明 Jump if not sign 正数 (SF=0) JNS LABEL Jump if sign 负数 (SF=1) JS LABEL Jump if not equal/not zero 不相等 (ZF=0) JNE/JNZ LABEL Jump if equal/zero 相等 (ZF=1) JE/JZ LABEL Jump if not carry 无进/借位 (CF=0) JNC LABEL Jump if carry 有进/借位 (CF=1) JC LABEL 英文描述 功能 测试条件 指令格式 根据单个标志位(CF、ZF、SF、OF、PF)的状态进行转移 3.9 转移指令 Jump if not parity/parity odd 有奇数个1 (PF=0) JNP/JPO LABEL Jump if parity/parity equal 有偶数个1 (PF=1) JP/JPE LABEL Jump if not overflow 无溢出 (OF=0) JNO LABEL Jump if overflow 有溢出 (OF=1) JO LABEL

文档评论(0)

只做精品 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档