x86_64 General Purpose Registers Reference


The x86_64 instruction set architechture includes 16 general purpose regisers, each of which can be addressed in full, or by the lower 32, 16 and 8 bits.

General Purpose Registers

64-bit Register Lower 32 bits Lower 16 bits Lower 8 bits
rax eax ax al
rbx ebx bx bl
rcx ecx cx cl
rdx edx dx dl
rsi esi si sil
rdi edi di dil
rbp ebp bp bpl
rsp esp sp spl
r8 r8d r8w r8b
r9 r9d r9w r9b
r10 r10d r10w r10b
r11 r11d r11w r11b
r12 r12d r12w r12b
r13 r13d r13w r13b
r14 r14d r14w r14b
r15 r15d r15w r15b

Addressing

General purpose registers in x86_64 are addressed as follows, using rax as an example:

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━rax━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                               ┏━━━━━━━━━━━━━━eax━━━━━━━━━━━━━┫
┃                               ┃               ┏━━━━━━ax━━━━━━┫
┃                               ┃               ┃       ┏━━al━━┫
0000000000000000000000000000000000000000000000000000000000000000