RAA subsystem: use shift instead of divide
[nasm.git] / regs.dat
blob7f347a20138ab17a9f9931f3aa6127263d84c63b
2 # List of registers and their classes; classes are defined in nasm.h
4 # The columns are:
6 # register name, assembler class, disassembler class(es), x86 register number
8 # If the register name ends in two numbers separated by a dash, then it is
9 # repeated as many times as indicated, and the register number is
10 # updated with it.
13 # General-purpose registers
14 al REG_AL reg8,reg8_rex 0
15 ah REG_HIGH reg8 4
16 ax REG_AX reg16 0
17 eax REG_EAX reg32 0
18 rax REG_RAX reg64 0
19 bl REG8NA reg8,reg8_rex 3
20 bh REG_HIGH reg8 7
21 bx REG16NA reg16 3
22 ebx REG32NA reg32 3
23 rbx REG64NA reg64 3
24 cl REG_CL reg8,reg8_rex 1
25 ch REG_HIGH reg8 5
26 cx REG_CX reg16 1
27 ecx REG_ECX reg32 1
28 rcx REG_RCX reg64 1
29 dl REG_DL reg8,reg8_rex 2
30 dh REG_HIGH reg8 6
31 dx REG_DX reg16 2
32 edx REG_EDX reg32 2
33 rdx REG_RDX reg64 2
34 spl REG8NA reg8_rex 4
35 sp REG16NA reg16 4
36 esp REG32NA reg32 4
37 rsp REG64NA reg64 4
38 bpl REG8NA reg8_rex 5
39 bp REG16NA reg16 5
40 ebp REG32NA reg32 5
41 rbp REG64NA reg64 5
42 sil REG8NA reg8_rex 6
43 si REG16NA reg16 6
44 esi REG32NA reg32 6
45 rsi REG64NA reg64 6
46 dil REG8NA reg8_rex 7
47 di REG16NA reg16 7
48 edi REG32NA reg32 7
49 rdi REG64NA reg64 7
50 r8-15b REG8NA reg8_rex 8
51 r8-15w REG16NA reg16 8
52 r8-15d REG32NA reg32 8
53 r8-15 REG64NA reg64 8
55 # Segment registers
56 cs REG_CS sreg 1
57 ds REG_DESS sreg 3
58 es REG_DESS sreg 0
59 ss REG_DESS sreg 2
60 fs REG_FSGS sreg 4
61 gs REG_FSGS sreg 5
62 segr6-7 REG_SEG67 sreg 6
64 # Control registers
65 cr0-15 REG_CREG creg 0
67 # Debug registers
68 dr0-15 REG_DREG dreg 0
70 # Test registers
71 tr0-7 REG_TREG treg 0
73 # Floating-point registers
74 st0 FPU0 fpureg 0
75 st1-7 FPUREG fpureg 1
77 # MMX registers
78 mm0-7 MMXREG mmxreg 0
80 # SSE registers
81 xmm0 XMM0 xmmreg 0
82 xmm1-15 XMMREG xmmreg 1