The x64 architecture is the evolution of the older x86 architecture, it kept compatibility with its predecessor (x86 registers are still available) but it also introduced new features:
General-purpose
Register | Name | Subregisters(bits) |
---|---|---|
RAX | Accumulator | EAX(32), AX(16), AH(8), AL(8) |
RBX | Base | EBX(32), BX(16), BH(8), BL(8) |
RCX | Counter | ECX(32), CX(16), CH(8), CL(8) |
RDX | Data | EDX(32), DX(16), DH(8), DL(8) |
RSI | Source | ESI(32), SI(16), SL(8) |
RDI | Destination | EDI(32), DI(16), DL(8) |
RBP | Base pointer | EBP(32), BP(16), BPL(8) |
RSP | Stack pointer | ESP(32), SP(16), SPL(8) |
R8-R15 | New registers | R8D-R15D(32), R8W-R15W(16), R8B-R15B(8) |
Note
The suffixes used to address the lower bits of the new registers stand for: