x64 寄存器

x64 架构是旧 x86 架构的演变,它与其前代产品保持兼容(x86 寄存器仍然可用),但它还引入了新功能:

  • 寄存器现在的容量为 64 位;
  • 还有 8 个通用寄存器;
  • 段寄存器在 64 位模式下被强制为 0;
  • 现在可以使用每个寄存器的低 32 位,16 位和 8 位。

一般用途

寄存器 名称 Subregisters(位)
RAX 累加器 EAX(32),AX(16),AH(8),AL(8)
RBX 基础 EBX(32),BX(16),BH(8),BL(8)
RCX 计数器 ECX(32),CX(16),CH(8),CL(8)
RDX 数据 EDX(32),DX(16),DH(8),DL(8)
RSI 资源 ESI(32),SI(16),SL(8)
RDI 目的地 EDI(32),DI(16),DL(8)
RBP 基指针 EBP(32),BP(16),BPL(8)
RSP 堆栈指针 ESP(32),SP(16),SPL(8)
R8-R15 新登记册 R8D-R15D(32),R8W-R15W(16),R8B-R15B(8)

注意

用于寻址新寄存器低位的后缀代表:

  • B 字节,8 位;
  • W 字,16 位;
  • D 双字,32 位。