- 32位CPU含有的寄存器
4个数据寄存器 (EAX, EBX, ECX和EDX)
2个变址 寄存器(ESI和EDI)
2个指针寄存器 (ESP和EBP)
6个段寄存器 (ES, CS, SS, DS, FS和GS)
1个指令指针寄存器 (EIP)
1个标志寄存器 (EFLAgs)
- 数据寄存器
数据寄存器主要用来保存操作数和运算结果等信息, 从而节省读取操作数所需占用总线和访问存储器的时间
32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX
- 变址 寄存器
32位CPU有2个32位通用寄存器ESI和EDI
主要用于存放存储单元在段内的偏移量
- 指针寄存器
32位CPU有2个32位通用寄存器EBP和ESP
其低16位对应CPU中的SI和DI, 对低16位数据的存取, 不影响高16位的数据 (上同)
主要用于存放堆栈内存储单元的偏移量
- 段寄存器
段寄存器是根据内存分段的管理模式而设置的
内存单元的物理地址由寄存器的值和一个偏移量组合而成, 这样可以用两个较少位数的值组合一个可以访问较大物理空间的内存地址
1,代码段寄存器CS(Code Segment):存放当前正在运行的程序代码所在段的段基址,表示当前使用的指令代码可以从该段寄存器指定的存储器段中取得,相应的偏移量则由IP提供。
2,数据段寄存器DS(Data Segment):指出当前程序使用的数据所存放段的最低地址,即存放数据段的段基址。
3,堆栈段寄存器SS(Stack Segment):指出当前堆栈的底部地址,即存放堆栈段的段基址。
4, 附加段寄存器ES(Extra Segment):指出当前程序使用附加数据段的段基址,该段是串操作指令中目的串所在的段。
- 指令指针寄存器
指令指针是存放下次将要执行的指令在代码的偏移量
- 标志寄存器
一、运算结果标志位
二、状态控制标志位
三、32位标志寄存器增加的标志位