cpu中各个寄存器的作用

32位CPU
  • 数据寄存器
    • EAX : 可以用做返回值
      • AX:EAX的低16位
        • AH:AX的低八位,可以用作累加器
        • AL:AX的高八位,可以用作累加器
    • EBX:可以用作基址寄存器,在内存寻址中用作基地址,
      • BX:EBX的低16位,用作指针寄存器的时候搭配SI或者DI
    • ECX
      • CX:计数寄存器,在循环中控制循环次数
        • CH
        • CL:可以用作移位的位数
    • EDX
      • DX:在进行乘除运算时,可作为默认的操作数参与运算,也可以用于存放I/O的端口地址。
    • PS:在16位CPU中,AX、BX、CX和DX不能作为基址和变址寄存器来存放存储单元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不仅可传送数据、暂存数据保存算术逻辑运算结果,而且也可作为指针寄存器,所以,这些32位寄存器更具有通用性。
  • 变指和指针寄存器
    • ESI:用于存放存储单元在段内的偏移量,是源串地址
      • SI,和DS搭配使用
    • EDI:用于存放存储单元在段内的偏移量,是目的串地址
      • DI:和ES搭配使用
  • 指针寄存器
    • ESP:堆栈栈顶指针
      • SP:
    • EBP:基址针(堆栈栈底指针)
      • BP:可以搭配SI和DI
  • 段寄存器

    • CS(Code SegmentRegister):代码段寄存器,代码段的段值
    • SS(StackSegmentRegister):堆栈段寄存器,堆栈段的段值
    • DS(Data SegmentRegister):数据段寄存器,数据段的段值
    • FS(ExtraSegmentRegister): 附加段寄存器
    • GS(ExtraSegmentRegister): 附加段寄存器
    • ES(ExtraSegmentRegister): 附加段寄存器
  • 指令指针寄存器
    • EIP:是存放下次将要执行的指令在代码段的偏移量
  • 标志寄存器
    • EFLAGS
      • CF:进位和借位标志位
      • PF:奇偶标志位
      • AF:辅助进位标志位
      • ZF:零标志位
      • SF:符号标志位
      • OF:溢出标志位
文章目录
  1. 1. 32位CPU
,