好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

常用汇编指令对标志位的影响.doc

6页
  • 卖家[上传人]:飞***
  • 文档编号:41668188
  • 上传时间:2018-05-30
  • 文档格式:DOC
  • 文档大小:43KB
  • / 6 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 转】常用汇编指令对标志位的影响 2012-04-10 15:41 转载自 longhuima 最终编辑 shouzhewei加法指令 ADD (addition) 指令对标志位的影响:CF=1 最高有效位向高位有进位CF=0 最高有效位向高位无进位OF=1 两个同符号数相加(正数+正数 或 负数+负数),结果符 号与其相反OF=0 两个不同符号数相加,或同符号数相加,结果符号与其相 同带进位加法指令 ADC (add with carry) 指令对标志位的影响:CF=1 最高有效位向高位有进位CF=0 最低有效位相高位无进位OF=1 两个同符号数相加,结果符号与其相反,OF=0 两个同符号数相加,或同符号相加,结果符号与其相同加 1 指令 INC (increament) 指令对标志位的影响:对 CF 无影响OF=1 两个同符号数相加,结果符号与其相反,OF=0 两个同符号数相加,或同符号相加,结果符号与其相同减法指令 SUB (subtract) 指令对标志位的影响:CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减 数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数, 够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与 减数相同。

      OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同带借位减法指令 SBB (subtract with borrow) 指令对标志位的影响:CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减 数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数, 够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与 减数相同OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同减 1 指令 DEC (decrement) 指令对标志位的影响:对 CF 无影响OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与 减数相同OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同比较指令 CMP (compare) 指令对标志位的影响:CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减 数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数, 够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与 减数相同OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同。

      求补指令 NEG (negate) 指令对标志位的影响:CF=1 不为 0 的操作数求补时CF=0 为 0 的操作数求补时OF=1 操作数为-128(字节运算)或操作数为-32768(字运算)OF=0 当求补运算的操作数不为-128(字节)或-32768(字) 时无符号乘法指令 MUL (unsigned multiple) 有符号乘法指令 IMUL(signed muliple) 指令对标志位的影响:乘法指令只影响标志位 CF 和 OF,其他条件码位无定义MUL 指令的条件码设置为:CF OF=0 0 乘积的高一半为 0(字节操作的(AH)或字操作的 (DX))CF OF=1 1 乘积的高一半不为 0IMUL 指令的条件码设置为:CF OF=0 0 乘积的高一半为低一半的符号扩展.CF OF=1 1 其他情况无符号数除法 DIV (unsigned divide) 带符号数除法 IDIV (singed divide) 指令对标志位的影响:不影响条件码 逻辑与 AND (logic and) 指令对标志位的影响:指令执行后 CF 和 OF 置零,AF 无定义。

      PF=1 结果操作数中 1 的个数为偶数时置 1PF=0 结果操作数中 1 的个数为奇数时置 0逻辑或 or (logic or) 指令对标志位的影响:令执行后 CF 和 OF 置零,AF 无定义PF=1 结果操作数中 1 的个数为偶数时置 1PF=0 结果操作数中 1 的个数为奇数时置 0逻辑非 NOT (logic not) 指令对标志位的影响:对标志位无影响异或 XOR (exclusice or) 指令对标志位的影响:令执行后 CF 和 OF 置零,AF 无定义PF=1 结果操作数中 1 的个数为偶数时置 1PF=0 结果操作数中 1 的个数为奇数时置 0测试指令 TEST 指令对标志位的影响:令执行后 CF 和 OF 置零,AF 无定义PF=1 结果操作数中 1 的个数为偶数时置 1PF=0 结果操作数中 1 的个数为奇数时置 0逻辑左移 SHL (shift logical left) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化OF=0 当 cnt=1 时,移动时最高位的值未发生变化逻辑右移 SHR (shift logical right) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化。

      OF=0 当 cnt=1 时,移动时最高位的值未发生变化算术左移 SAL (shift arithmetic left) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化OF=0 当 cnt=1 时,移动时最高位的值未发生变化算术右移 SAR (shift arithmetic right) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化OF=0 当 cnt=1 时,移动时最高位的值未发生变化循环左移 ROL (rotate left) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化OF=0 当 cnt=1 时,移动时最高位的值未发生变化循环右移 ROR (rotate right) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值发生变化OF=0 当 cnt=1 时,移动时最高位的值未发生变化带进位的循环左移 RCL (rotate left through carry) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,移动后最高位的值未发生变化。

      OF=0 当 cnt=1 时,移动后最高位的值发生变化SF、ZF、PF 标志位不受影响带进位的循环右移 RCR (rotate right through carry) 指令对标志位的影响:CF=移入的数值OF=1 当 cnt=1 时,操作数最高位的值未发生变化OF=0 当 cnt=1 时,操作数最高位的值发生变化SF、ZF、PF 标志位不受影响串传送 MOVSB / MOVSW (move string byte/word) 指令对条件码的影响:不影响条件码存串 STOSB / STOSW (stroe from string byte/word) 指令对条件码的影响:不影响条件码取串 LODSB / LODSW (load from string byte/word) 指令对条件码的影响:不影响条件码串比较 CMPSB / CMPSW (compare string byte/word) 指令对条件码的影响:CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减 数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数, 够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与减数相同。

      OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同串扫描 SCASB / SCASW (scan string byte / word) 指令对条件码的影响:CF=1 二进制减法运算中最高有效位向高位有借位(被减数小于减 数,不够减的情况)CF=0 二进制减法运算中最高有效为向高位无借位(被减数〉=减数, 够减的情况)OF=1 两数符号相反(正数-负数,或负数-正数),而结果符号与 减数相同OF=0 同符号数相减时,或不同符号数相减,其结果符号与减数不 同条件转移指令指令的汇编格式及功能 根据条件码的值转移: 49、JZ(JE) OPR ZF=1 50、JNZ(JNE) OPR ZF=0 51、JS OPR SF=1 52、JNS OPR SF=0 53、JO OPR OF=1 54、JNO OPR OF=0 55、JP OPR PF=1 56、JNP OPR PF=0 57、JC OPR CF=1 58、JNC OPR CF=0比较两个无符号数,根据比较的结果转移 59、JB(JNAE,JC) OPR CF=1 被减数小于减数则转移 60、JNB(JAE,JNC) OPR CF=0 被减数大于或等于减数则转移 61、JBE(JNA) OPR CF 或 ZF=1 被减数小于或等于减数则转移 62、JNBE(JA) OPR CF 或 ZF=0 被减数大于减数则转移比较两个带符号数,根据比较结果转移 63、JL/JNGE OPR SF 异或 OF=1 被减数小于减数则转移 64、JNL/JGE SF 异或 OF=0 被减数不小于减数则转移 65、JLE/JNE (SF 异或 OF)与 ZF=1 被减数不大于减数则转移 66、JNLE/JG (SF 异或 OF)与 ZF=0 被减数大于减数则转移根据 CX 寄存器的值转移 67、JCXZ (CX)=0 CX 内容为零 则转移。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.