# $Id$ # # List of registers and their classes; classes are defined in nasm.h # # The columns are: # # register name, assembler class, disassembler class(es), x86 register number # # If the register name ends in two numbers separated by a dash, then it is # repeated as many times as indicated, and the register number is # updated with it. # # General-purpose registers al REG_AL reg8,reg8_rex 0 ah REG_HIGH reg8 4 ax REG_AX reg16 0 eax REG_EAX reg32 0 rax REG_RAX reg64 0 bl REG8 reg8,reg8_rex 3 bh REG_HIGH reg8 7 bx REG16 reg16 3 ebx REG32 reg32 3 rbx REG64 reg64 3 cl REG_CL reg8,reg8_rex 1 ch REG_HIGH reg8 5 cx REG_CX reg16 1 ecx REG_ECX reg32 1 rcx REG_RCX reg64 1 dl REG_DL reg8,reg8_rex 2 dh REG_HIGH reg8 6 dx REG_DX reg16 2 edx REG_EDX reg32 2 rdx REG_RDX reg64 2 spl REG8 reg8_rex 4 sp REG16 reg16 4 esp REG32 reg32 4 rsp REG64 reg64 4 bpl REG8 reg8_rex 5 bp REG16 reg16 5 ebp REG32 reg32 5 rbp REG64 reg64 5 sil REG8 reg8_rex 6 si REG16 reg16 6 esi REG32 reg32 6 rsi REG64 reg64 6 dil REG8 reg8_rex 7 di REG16 reg16 7 edi REG32 reg32 7 rdi REG64 reg64 7 r8b REG8 reg8_rex 8 r8w REG16 reg16 8 r8d REG32 reg32 8 r8 REG64 reg64 8 r9b REG8 reg8_rex 9 r9w REG16 reg16 9 r9d REG32 reg32 9 r9 REG64 reg64 9 r10b REG8 reg8_rex 10 r10w REG16 reg16 10 r10d REG32 reg32 10 r10 REG64 reg64 10 r11b REG8 reg8_rex 11 r11w REG16 reg16 11 r11d REG32 reg32 11 r11 REG64 reg64 11 r12b REG8 reg8_rex 12 r12w REG16 reg16 12 r12d REG32 reg32 12 r12 REG64 reg64 12 r13b REG8 reg8_rex 13 r13w REG16 reg16 13 r13d REG32 reg32 13 r13 REG64 reg64 13 r14b REG8 reg8_rex 14 r14w REG16 reg16 14 r14d REG32 reg32 14 r14 REG64 reg64 14 r15b REG8 reg8_rex 15 r15w REG16 reg16 15 r15d REG32 reg32 15 r15 REG64 reg64 15 # Segment registers cs REG_CS sreg 1 ds REG_DESS sreg 3 es REG_DESS sreg 0 ss REG_DESS sreg 2 fs REG_FSGS sreg 4 gs REG_FSGS sreg 5 segr6-7 REG_SEG67 sreg 6 # Control registers cr0-15 REG_CREG creg 0 # Debug registers dr0-15 REG_DREG dreg 0 # Test registers tr0-7 REG_TREG treg 0 # Floating-point registers st0 FPU0 fpureg 0 st1-7 FPUREG fpureg 1 # MMX registers mm0-7 MMXREG mmxreg 0 # SSE registers xmm0-15 XMMREG xmmreg 0 # Special registers eip REG_EIP eipreg 0 rip REG_RIP ripreg 0