PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第4章.ppt

PC汇编语言程序设计 本科 教学课件 作者 王闵 第1-7章第4章.ppt

  1. 1、本文档共175页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(4) 段间间接转移指令。 汇编格式: JMP DWORD PTR DST 执行的操作: (IP)←(EA) (CS)←(EA+2) 汇编格式中的DST可为任何一种内存寻址方式。 DST的寻址方式确定段内偏移地址,把由段内偏移地址指定的存储单元的低字内容送到IP寄存器中,并把高字的内容送到CS寄存器中, 参见图3.9(d)。 4.5.2 条件转移指令 条件转移的种类很多,每一种条件转移指令都规定了相应的转移条件。条件转移指令是判断它的上一条指令执行后的标志位,当标志位满足条件转移指令所规定的条件时,则转移到由条件转移指令指出的转向地址;不满足规定的条件时,则顺序执行下一条指令。 条件转移指令汇编格式: JXX DST 执行的操作:若条件满足,则(IP)←(IP)+ disp(disp为8位), 否则(IP)不变。 条件转移指令均为段内相对短转移(使用8位位移量)。在汇编格式中DST为同一段内转向目标的符号地址,由于8位位移量采用补码表示,这个目标地址应在转移指令下一条指令地址的-128~+127个字节的范围之内。另外,所有的条件转移指令都不影响标志位。  条件转移指令种类较多, 下面分为四组介绍。  (1) 转移条件为单个标志。分别根据5个标志位:ZF、SF、 OF、PF、CF的两个状态共10个条件形成10条指令。  JZ(或JE)(Jump if zero, or equal) 结果为零(或相等)转移。  汇编格式: JZ(或JE) DST 转移条件: ZF=1 JNZ(或JNE)(Jump if not Zero, or not Equal) 结果不为零(或不相等)转移。  汇编格式: JNZ(或JNE) DST 转移条件: ZF=0 JS(Jump if Sign) 结果为负转移。 汇编格式: JS DST 转移条件: SF=1 JNS(Jump if not Sign) 结果为正转移。 汇编格式: JNS DST 转移条件: SF=0 JO(Jump if Overflow) 溢出转移。 汇编格式: JO DST 转移条件: OF=1 JNO(Jump if not Overflow) 不溢出转移。 汇编格式: JNO DST 转移条件: OF=0 JP(或JPE)(Jump if Parity, or Parity Even) 奇偶位为1转移。 汇编格式: JP(或JPE) DST  转移条件: PF=1 JNP(或JPO)(Jump if not Parity, or Parity Odd) 奇偶位为0转移。 汇编格式: JNP(或JPO) DST 转移条件: PF=0 JC(或JNAE, JB)(Jump if Carry or not Above or Equal, or Below) 进位为1(或者不高于或等于, 或低于)转移。 汇编格式: JC(或JNAE, 或JB) DST 转移条件: CF=1 JNC(或JAE, JNB)(Jump if not Carry, or Above or Equal, or not Below) 进位为零(或者高于或等于, 或不低于)转移。  汇编格式: JNC(或JAE, 或JNB) DST 转移条件: CF=0 最后两条指令在这一组指令中只看作JC和JNC, 它们只用CF的值来判别是否转移。  下面举例说明这一组转移指令的使用。 例 4.12 数据x的存放地址为X,计算(x)/2,并对末位进行0舍1入处理。所需的程序段如下:  X DW x    MOV AX, X SAR AX, 1 ; 1/2(AX)→(AX), 最低位移入CF位 JNC D ; 0舍 INC AX; 1入 D: MOV X, AX ; 送0舍1入结果  … … … 例 4.13 数据x的存放地址为X, 计算y=|x|的程序段如下: X DW x  Y DW ?  MOV AX, X;  TEST AX, 8000H ; 检测x的符号位 JNS PLUS ; 为正, 转 NEG AX ; 为负, 取补(求相反数的补码) PLUS: M

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档