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 位。