X86系列处理器中的寄存器

一个80X86 CPU有16个应用寄存器。

数据寄存器:EAX、EBX、ECX、EDX,又称通用寄存器。EAX有时也叫累加器,因为它用于存储许多计算的结果。

其中字母E表示Extend,原因是相对于早期16位寄存器来说,32位的寄存器是AX、BX、CX、DX16位寄存器的拓展。同时也是向下兼容的一种体现。

对于EAX,可以使用AX来直接访问其低16位,即(0~15位),AX又细分为AH(8~15位)和AL(0~7位)。可以直接通过寄存器名称访问。同样的,EBX、ECX、EDX也有对应的低位名称。而对于从80386开始拓展出的高16位,不存在独立访问的名称。


四个32位通用寄存器:ESI、EDI、ESP、EBP。它们可以用于正常的运算操作,但通常保留他们,以用于特殊的用途。

ESI和EDI是索引寄存器(Index register),其中SI代表源索引,DI代表目的索引。多用于串字符和数组的索引。低位字SI和DI可以单独使用。

ESP是系统栈的栈指针,低位字SP可单独使用。

EBP是基址指针寄存器。


六个16位段寄存器:CS、DS、ES、FS、GS、SS。

CS:代码段寄存器。

DS:数据段寄存器。

ES:附加数据段寄存器。

SS:堆栈段寄存器,保留的栈。

FS、GS用于访问两个附加的数据段。


EIP:指令指针寄存器。


EFLAGS:标志寄存器。


你可能感兴趣的:(X86系列处理器中的寄存器)