Document -O2/-O3 change
[nasm.git] / regs.dat
blobf2bb8e8cfd7f4d0214db83dd94e90ccdc2cec2b7
1 # $Id$
3 # List of registers and their classes; classes are defined in nasm.h
5 # The columns are: register name, assembler class, disassembler class, regval
6 # A * means the line should be repeated for each value from 0 to 7
9 # General-purpose registers
10 al REG_AL reg8 0
11 ah REG8 reg8 4
12 ax REG_AX reg16 0
13 eax REG_EAX reg32 0
14 bl REG8 reg8 3
15 bh REG8 reg8 7
16 bx REG16 reg16 3
17 ebx REG32 reg32 3
18 cl REG_CL reg8 1
19 ch REG8 reg8 5
20 cx REG_CX reg16 1
21 ecx REG_ECX reg32 1
22 dl REG_DL reg8 2
23 dh REG8 reg8 6
24 dx REG_DX reg16 2
25 edx REG_EDX reg32 2
26 sp REG16 reg16 4
27 esp REG32 reg32 4
28 bp REG16 reg16 5
29 ebp REG32 reg32 5
30 si REG16 reg16 6
31 esi REG32 reg32 6
32 di REG16 reg16 7
33 edi REG32 reg32 7
35 # Segment registers
36 cs REG_CS sreg 1
37 ds REG_DESS sreg 3
38 es REG_DESS sreg 0
39 ss REG_DESS sreg 2
40 fs REG_FSGS sreg 4
41 gs REG_FSGS sreg 5
42 segr6 REG_SEG67 sreg 6
43 segr7 REG_SEG67 sreg 7
45 # Control registers
46 cr* REG_CREG creg *
48 # Debug registers
49 dr* REG_DREG dreg *
51 # Test registers
52 tr* REG_TREG treg *
54 # Floating-point registers
55 st0 FPU0 fpureg 0
56 st1 FPUREG fpureg 1
57 st2 FPUREG fpureg 2
58 st3 FPUREG fpureg 3
59 st4 FPUREG fpureg 4
60 st5 FPUREG fpureg 5
61 st6 FPUREG fpureg 6
62 st7 FPUREG fpureg 7
64 # MMX registers
65 mm* MMXREG mmxreg *
67 # SSE registers
68 xmm* XMMREG xmmreg *