32位通用寄存器
EAX, EBX, ECX, EDX
EBP, ESP, ESI, EDI
EAX 低16位称为AX,AX高8位称为AH,低8位称为AL
16位段寄存器
CS, ES, SS, FS, DS, GS
实地址模式下,用于存放段的基址.段是一块预分配的内存区域.
保护模式下,段寄存器存放段描述符表的指针(索引).
有些段存放程序的指令(代码),有些存放变量(数据),另外还有其他段存放(堆栈段)存放函数的局部和函数参数.
标志寄存器:EFLAGS
CF, OF, SF, ZF, AC, PF
指令寄存器:EIP
特殊用法:
EAX在乘法和除法指令中被自动使用.通常称为扩展累加寄存器.
在某些指令中,CPU自动使用ECX作为循环计数器.
ESP寻址堆栈上的数据.极少用于普通的算术运算和数据传送.
ESI和EDI由高速内存数据传送指令使用.
高级语言使用EBP引用堆栈上的函数参数和局部变量.极少用于普通的算术运算和数据传送.
系统寄存器
中断描述符表寄存器(IDTR, Interrupt Descriptor Table Register)
全局描述符表寄存器(GDTR, Global Descriptor Table Register)
局部描述符寄存器(LDTR, Local Descriptor Table Registe)
任务寄存器(Task Register)
调试寄存器(Debug Register)
控制寄存器(Control Register)
模型专用寄存器(Model-Specific Registers)
浮点单元
8个80位数据寄存器:ST(0),...,ST(7);
操作码寄存器
48位的指针寄存器:FPU指令指针,FPU数据指针
16位的控制寄存器:标记寄存器,控制寄存器,状态寄存器
MMX寄存器
MMX指令及使用的8个64位MMX寄存器.支持单指令,多数据操作(SIMD,single-instruction,multiple-data).
MMX指令并行操作MMX寄存器中的数据.
MMX寄存器实际共用浮点单元的寄存器.
XMM寄存器
8个128位XMM寄存器.被SSE指令集(streaming SIMD extension)使用.