zoukankan      html  css  js  c++  java
  • 汇编系列22--标志寄存器与JCC指令

    1、标志寄存器:EFLAGS

    0:CF---进位标志--carry flag

    2:PF---奇偶标志

    4:AF---辅助进位标志

    6:ZF---零标志

    7:SF---符号标志

    8:TF---单步标志--暂时用不到,学习如何实现调试器时学。

    9:IF---中断使能标志--暂时用不到,学中断门的时候再学习。

    10:DF---方向标志

    11:OF---溢出标志

    JCC指令--可修改EIP寄存器的值。

    前面学习,修改EIP的指令有,JMP,CALL,RET。

    JCC指令修改EIP不像JMP是无条件修改EIP的,而是根据标志寄存器里面的值决定的。

    若想很好的理解JCC指令,要理解标志寄存器。

     

     只统计最后一个字节1的个数,为偶数则P位为1,否则为0。

     

     

     

     

     

    汇编 JCC指令表

    JCC指条件跳转指令,CC就是指条件码。

    JCC指令中文含义英文含义检查符号位典型C应用
    JZ/JE 若为0则跳转;若相等则跳转 jump if zero;jump if equal ZF=1 if (i == j);if (i == 0);
    JNZ/JNE 若不为0则跳转;若不相等则跳转 jump if not zero;jump if not equal ZF=0 if (i != j);if (i != 0);
    JS 若为负则跳转 jump if sign SF=1 if (i < 0);
    JNS 若为正则跳转 jump if not sign SF=0 if (i > 0);
    JP/JPE 若1出现次数为偶数则跳转 jump if Parity (Even) PF=1 (null)
    JNP/JPO 若1出现次数为奇数则跳转 jump if not parity (odd) PF=0 (null)
    JO 若溢出则跳转 jump if overflow OF=1 (null)
    JNO 若无溢出则跳转 jump if not overflow OF=0 (null)
    JC/JB/JNAE 若进位则跳转;若低于则跳转;若不高于等于则跳转 jump if carry;jump if below;jump if not above equal CF=1 if (i < j);
    JNC/JNB/JAE 若无进位则跳转;若不低于则跳转;若高于等于则跳转; jump if not carry;jump if not below;jump if above equal CF=0 if (i >= j);
    JBE/JNA 若低于等于则跳转;若不高于则跳转 jump if below equal;jump if not above ZF=1或CF=1 if (i <= j);
    JNBE/JA 若不低于等于则跳转;若高于则跳转 jump if not below equal;jump if above ZF=0或CF=0 if (i > j);
    JL/JNGE 若小于则跳转;若不大于等于则跳转 jump if less;jump if not greater equal SF != OF if (si < sj);
    JNL/JGE 若不小于则跳转;若大于等于则跳转; jump if not less;jump if greater equal SF = OF if (si >= sj);
    JLE/JNG 若小于等于则跳转;若不大于则跳转 jump if less equal;jump if not greater ZF != OF 或 ZF=1 if (si <= sj);
    JNLE/JG 若不小于等于则跳转;若大于则跳转 jump if not less equal;jump if greater SF=0F 且 ZF=0 if(si>sj)

    参考:https://www.cnblogs.com/zhwer/p/12283220.html

  • 相关阅读:
    事务传播机制,搞懂。
    洛谷 P1553 数字反转(升级版) 题解
    洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解
    洛谷 P1055 ISBN号码 题解
    洛谷 P2141 珠心算测验 题解
    洛谷 P1047 校门外的树 题解
    洛谷 P1980 计数问题 题解
    洛谷 P1008 三连击 题解
    HDU 1013 题解
    HDU 1012 题解
  • 原文地址:https://www.cnblogs.com/RevelationTruth/p/13923980.html
Copyright © 2011-2022 走看看