`
yuanlanxiaup
  • 浏览: 865599 次
文章分类
社区版块
存档分类
最新评论

EFLAGS Register-EFLAGS寄存器

 
阅读更多

EFLAGS寄存器介绍,摘自Intel指令集参考,方便大家快速查阅,因英语水平有限,翻译就省了,以免翻译错了误人子弟(*^_^*)。

The 32-bit EFLAGS register contains a group of status flags, a control flag, and a
group of system flags. Figure 3-8 defines the flags within this register. Following
initialization of the processor (either by asserting the RESET pin or the INIT pin), the
state of the EFLAGS register is 00000002H. Bits 1, 3, 5, 15, and 22 through 31 of this
register are reserved. Software should not use or depend on the states of any of
these bits.

Some of the flags in the EFLAGS register can be modified directly, using specialpurpose
instructions (described in the following sections). There are no instructions
that allow the whole register to be examined or modified directly.

The following instructions can be used to move groups of flags to and from the procedure
stack or the EAX register: LAHF, SAHF, PUSHF, PUSHFD, POPF, and POPFD. After
the contents of the EFLAGS register have been transferred to the procedure stack or
EAX register, the flags can be examined and modified using the processor’s bit
manipulation instructions (BT, BTS, BTR, and BTC).

When suspending a task (using the processor’s multitasking facilities), the processor
automatically saves the state of the EFLAGS register in the task state segment (TSS)
for the task being suspended. When binding itself to a new task, the processor loads
the EFLAGS register with data from the new task’s TSS.

When a call is made to an interrupt or exception handler procedure, the processor
automatically saves the state of the EFLAGS registers on the procedure stack. When an interrupt or exception is handled with a task switch, the state of the EFLAGS
register is saved in the TSS for the task being suspended.

EFLAGS Register

As the IA-32 Architecture has evolved, flags have been added to the EFLAGS register,
but the function and placement of existing flags have remained the same from one
family of the IA-32 processors to the next. As a result, code that accesses or modifies
these flags for one family of IA-32 processors works as expected when run on later
families of processors.

分享到:
评论

相关推荐

    8086cpu寄存器详解.doc

    通用寄存器 4个 EAX、EBX、ECX和EDX 32位 段寄存器 6个 ES、CS、SS、DS、...状态标志寄存器 1 EFlags 32位 控制寄存器 CR0-CR4 调试寄存器 DR0-DR7 测试寄存器 TR3-TR5 系统地址寄存器 2个 GDTR,IDTR 48位

    OllyICE反汇编教程及汇编命令详解

    内容目录 计算机寄存器分类简介 计算机寄存器常用指令 一、常用指令 二、算术运算指令 三、逻辑运算指令 四、串指令 五、程序跳转指令 ----------------------------...1个指令指针寄存器(EIP) 1个标志寄存器(EFlags)

    80x86的程序可见寄存器组.doc

    其中,EFLAGS 寄存器又称程序状态寄存器(PSW),它是一个存放条件码标志、控制标志和系统标志的寄存器。条件码标志包括: * OF:溢出标志,记录运算过程中的溢出情况 * SF:符号标志,记录运算结果的符号 * ZF:零...

    windows开发手册卷一中文版

    附录 A-EFLAGS 交叉引用 ------------------------- * IA-32 指令如何影响 EFLAGS 寄存器中的标志 附录 B-EFLAGS 条件代码 ------------------------- * 条件跳转、移动和“在条件码上设置字节”指令如何使用 ...

    EFLAGS标志位,Intel的资料

    EFLAGS标志位,Intel的资料 EFLAGS标志位,Intel的资料 EFLAGS标志位,Intel的资料 EFLAGS标志位,Intel的资料

    CPU_ASM.rar_EFLAGS

    CPU寄存器和汇编指令 32位CPU所含有的寄存器有:&#160 4个数据寄存器(EAX、EBX、ECX和EDX)&#160 2个变址和指针寄存器(ESI和EDI) 2个指针寄存器(ESP和...1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) &#160 ......

    揭秘数据解密的关键技术 CHM

     1.7.2 EFLAGS寄存器的用途  1.8 灵活的寻址方式  1.8.1 寻址方式的分类  1.8.2 高级语言中的数据结构和80386寻址方式的关系  1.9 80386指令  1.9.1 Intel格式和AT&T格式的指令  1.9.2 数据传送指令MOV...

    VB 获得寄存器的值

    VB获得寄存器的值 可以获得 ContexFlags dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 SegGs SegFs SegEs SegDs Edi Esi Ebx Edx Ecx Eax Ebp Eip SegCs EFlags Esp SegSs

    x86架构常见寄存器介绍

    帮助分析程序,在碰到需要分析性能或者程序的时候将大大的帮助你 比如:EAX、EBX、ECX、EDX、EDI、ESI、EBP、ESP 、CS、DS、ES、FS、GS、SS、EFLAGS RAX、RBX、RCX、RDX、RSI、RDI、RSP等,希望通过这些寄存器的说明...

    OD反汇编语言解释.doc

    1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 1、数据寄存器 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和...

    lldb-ifl:将 *gdb* `info registers eflags` 功能添加到 lldb

    lldb-ifl 将gdb info registers eflags功能添加到 lldb。安装curl -L https://raw.githubusercontent.com/thlorenz/lldb-ifl/master/ifl.py > ifl.py用法 (lldb) command script import ifl.py(lldb) iflrflags: 0x...

    滴水三期完整版(96课时)

    第6讲:2015-01-19(EFLAGS寄存器06) 第7讲:2015-01-20(JCC) 第8讲:2015-01-21(堆栈图) 第8讲:2015-01-21(宝马问题) 第9讲:2015-01-22(堆栈图2) 第10讲:2015-01-23(C语言01_后半段) 第10讲:2015-01-23...

    揭秘数据解密的关键技术

    1.6.2 EBP和ESP寄存器的用途 1.7 标志寄存器 1.7.1 EFLAGS寄存器 1.7.2 EFLAGS寄存器的用途 1.8 灵活的寻址方式 1.8.1 寻址方式的分类 1.8.2 高级语言中的数据结构和80386寻址方式的关系 1.9 80386指令 1.9.1 Intel...

    《Rootkits--Windows内核的安全防护》.(Hoglund).[PDF]&ckook;

    3.7.1 控制寄存器 3.7.2 其他控制寄存器 3.7.3 eflags寄存器 3.8 多处理器系统 3.9 小结 第4章 古老的钩子艺术 第5章 运行时补丁 第6章 分层驱动程序 第7章 直接内核对象操作 第8章 操纵硬件 第9章 隐秘通道 第10章 ...

    俞强-Bochs项目源码分析与注释

    3.5 CPU 状态字 EFLAGS Bochs 项目源码分析与注释 MAY 2006 Understanding the source code of bochs 3.6 函数 CPU_LOOP()结构分析 3.7 函数 handleAsyncEvent()分析 3.8 取指与执行 4 CPU 中断处理任务管理 ...

    8086汇编指令速查手册

    8086汇编指令速查手册:常用指令、算术运算指令 、逻辑运算指令、串指令 、程序跳转指令。如:计算机寄存器分类简介: 32位CPU所含有的寄存器有: ...1个指令指针寄存器(EIP) 1个标志寄存器(EFlags) 。

    x86 x64体系探索及编程part3

    168 10.5 段式管理的数据结构 169 10.5.1 Segment Selector(段选择子) 169 10.5.2 Descriptor Table(描述符表) 172 10.5.3 Segment Selector Register(段寄存器) 174 10.5.4 Segment Descriptor(段描述符) ...

    DFT的matlab源代码-libdft64:用于IntelPin3.x和64位平台的libdft。(动态污点跟踪,污点分析)

    忽略eflags寄存器 去做 三元指令 性能优化 支持更多说明 测试每条指令 标志注册规则 FPU指示 贡献指导 如前所述,libdft存在健全性和完整性的探针。 污点传播规则可能是错误的。 它仅支持基本说明,还需要支持许多...

Global site tag (gtag.js) - Google Analytics