第4章指令系统汇编语言.ppt

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

* 例: MOV BX,1000H   JMP BX ;程序将转向1000H,即 IP←1000H   JMP WORD PTR [BX+20H] 设DS=2000H,[21020H]=34H,[21021H]=12H,则第二个JMP将程序转向1234H,即IP=1234H。 (4)段间直接转移:JMP FAR PTR lable 功能:无条件转移到指定段内的目标地址lable,是绝对转移指令。 例: CODE1 SEGMENT CODE2  SEGMENT     …  …  JMP FAR PTR DEST DEST: … …  …   CODE1 ENDS CODE2 ENDS 目标地址也可直接用数值表达式给出,这时可省略FAR属性说明。 JMP FAR PTR 2000H:0100H   程序将转向段地址为2000H,偏移地址为0100H的单元 * (5)段间间接转移:JMP mem 功能:程序将转向由mem指定的双字指针中第一个字单元的内容作为IP,第二个字单元的内容作为CS的目标地址。 例: MOV SI,0100H   JMP DWORD PTR [SI]  把DS:[SI]即DS:0100H和DS:0101H两单元的字送IP,而把DS:0102H和DS:0103H两单元的字送CS。程序转入由新的CS和新的IP决定的目标地址。 在32位保护模式下,段内转移的目标地址为32位偏移地址,段间转移的目标地址为48位虚拟地址(16位段选择符:32偏移地址)。 例: JMP EBX     ;段内转移,EIP=EBX JMP FWORD PTR [EBX] ;段间转移,目标地址为[EBX]指向的48位虚拟地址, ;CS=其中的高16位,EIP=其中的低32位 * 在64位模式下,指令指针为RIP。JMP指令的执行分为相对转移和绝对转移两种情况: 若为相对转移,则用RIP寄存器与机器码中的位移量字段相加的和修改RIP值,此时位移量字段不能超过32位,并将其符号扩展为64位再相加; 若为绝对转移,则把机器码中指出的寄存器或内存单元的值直接填入RIP(若不足64位将进行0扩展),实现64位地址空间的转移。 【例】 JMP 30000H ;若原来RIP=20000H,则将RIP加10000H, 实现相对转移 JMP R15 ;程序将转向R15指向的地址,即RIP←R15, 实现绝对转移 * 二.条件转移类指令 (1)根据单个标志位的条件转移指令 JC TAB1 ;当(AX-BX)有借位时,转至TAB1。 CMP CX,DX JNE TAB2 ;当CX≠DX(即CX-DX≠0)时,转至TAB2。 指 令 名 称 说 明 助 记 符 测试条件 等于/结果为零转移 相等/等于零 JE/JZ 目标标号 ZF=1 不等于/结果不为零转移 不相等/不等于零 JNE/JNZ 目标标号 ZF=0 有进位/有借位转移 有进位/借位 JC 目标标号 CF=1 无进位/无借位转移 无进位/借位 JNC 目标标号 CF=0 溢出转移 有溢出 JO 目标标号 OF=1 不溢出转移 无溢出 JNO 目标标号 OF=1 奇偶性为1/为偶转移 有偶数个“1” JP/JPE 目标标号 PF=1 奇偶性为0/为奇转移 有奇数个“1” JNP/JPO 目标标号 PF=0 符号位为1转移 是负数 JS 目标标号 SF=1 符号位为0转移 是正数 JNS 目标标号 SF=0 * (2)用于无符号数比较的条件转移指令 表3.9中的11~14条指令,检测无符号数比较结果的特征标志CF和ZF。 例:比较无符号数FEH和01H的大小,执行下面的指令后,将转移到ABOVE处继续执行指令。 MOV AL,0FEH CMP AL,01H JA ABOVE …… ABOVE:…… 指 令 名 称 说 明 助 记 符 测 试 条 件 高于/不低于也不等于转移 无符号数A>B JA/JNBE 目标标号 CF=0且ZF=0 高于或等于/不低于转移 无符号数A≥B JAE/JNB 目标标号 CF=0 低于/不高于也不等于转移 无符号数A<B JB/JNAE 目标标号 CF=1 低于或等于/不高于转移

文档评论(0)

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

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

1亿VIP精品文档

相关文档