zoukankan      html  css  js  c++  java
  • EFlags

    EFlags as a whole is a single 32-bit register buried inside the CPU.

    EFlags_1

    EFlags_2

    OF: overflow flag 溢出标记,当一个有符号数整数太大溢出时,这位标记为1。通常当作进位标记。

    DF: direction flag 这一位是你告诉CPU应该怎么做的一个标记。当设置这一位时,string instruction proceed from high memory towards low memory. 反之则相反。

    IF: interupt enable flag 是否允许中断的标记,CPU保留使用。

    TF: trap flag 是否允许单步调试。

    SF: sign flag 是否为负数。

    ZF: zero flag 如果指令中的一个操作数变为0,就设置这一位。You’ll be using this one a lot for conditional jumps.

    PF: Parity flag 如果一个数中1的个数为偶数,则设置这一位。

    CF: carry flag 仅为标记,用于unsigned arithmatic。

    对于ZF标记位:

    一般的对数据进行运算的指令通常都会影响ZF位,比如AND, OR, XOR, INC, DEC以及所有的代数运算指令。

    一般仅仅对数据进行转移的指令不会影响ZF位,比如MOV, XCHG, PUSH, POP等。

    有一个比较特殊,就是NOT,它虽然对数据进行操作,但是什么标记位都不影响。

  • 相关阅读:
    sql_LIKE
    sql_TOP
    oracle_存储过程
    注释@
    request.getAttribute()和request.getParameter()区别
    遍历map
    ORACLE
    JSP
    生成导入模板_设置列宽及标题_解析xml
    解析Excel_Poi
  • 原文地址:https://www.cnblogs.com/wangshuo/p/1985340.html
Copyright © 2011-2022 走看看