X86 基本寄存器介绍

来源:互联网 发布:爱家市场网络不稳定 编辑:程序博客网 时间:2024/06/11 05:37

通常应用程序和系统程序要用到的16个寄存器可以分为下面几类:

通用寄存器:General-purpose register, 这些寄存器用来存放操作数和指针


段寄存器:  Segment register.   用来存放段选择子(segment selectors)


标志寄存器 : EFLAGS (program status and control) register.


指令寄存器( instruction pointer) register:  这个寄存器存放了一个32位的指针,这个指针指向 下一条将要执行的指令。


1. 通用寄存器  General-Purpose Registers

通用寄存器包括EAX, EBX, ECX,EDX, ESI, EBP, ESP. 它们用来放如下内容:

  •  操作数( 包括逻辑运算和算术运算)
  • 操作数 (用于地址计算的)
  • 内存指针

尽管所有这些寄存器可以用来作为操作数,结果, 指针的 的存储位置,但是,请注意 ESP 只能用来存放stack 指针, 不能用作其他用途。


很多指令指定特殊的寄存器来存放操作数,比如 string 相关的指令需要用到ECX, ESI, EDI。当使用段式内存管理时,有一些指令是要假定寄存器与段是明确相关联的。举个例子  :当使用用段式管理时,EBX的内容指向的是DS的数据。


0 0