Update documentation
[platform/upstream/nasm.git] / regs.dat
1 #
2 # List of registers and their classes; classes are defined in nasm.h
3 #
4 # The columns are:
5 #
6 # register name, assembler class, disassembler class(es), x86 register number
7 #
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.
11 #
12
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      REG8            reg8,reg8_rex   3
20 bh      REG_HIGH        reg8            7
21 bx      REG16           reg16           3
22 ebx     REG32           reg32           3
23 rbx     REG64           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     REG8            reg8_rex        4
35 sp      REG16           reg16           4
36 esp     REG32           reg32           4
37 rsp     REG64           reg64           4
38 bpl     REG8            reg8_rex        5
39 bp      REG16           reg16           5
40 ebp     REG32           reg32           5
41 rbp     REG64           reg64           5
42 sil     REG8            reg8_rex        6
43 si      REG16           reg16           6
44 esi     REG32           reg32           6
45 rsi     REG64           reg64           6
46 dil     REG8            reg8_rex        7
47 di      REG16           reg16           7
48 edi     REG32           reg32           7
49 rdi     REG64           reg64           7
50 r8-15b  REG8            reg8_rex        8
51 r8-15w  REG16           reg16           8
52 r8-15d  REG32           reg32           8
53 r8-15   REG64           reg64           8
54
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
63
64 # Control registers
65 cr0-15  REG_CREG        creg            0
66
67 # Debug registers
68 dr0-15  REG_DREG        dreg            0
69
70 # Test registers
71 tr0-7   REG_TREG        treg            0
72
73 # Floating-point registers
74 st0     FPU0            fpureg          0
75 st1-7   FPUREG          fpureg          1
76
77 # MMX registers
78 mm0-7   MMXREG          mmxreg          0
79
80 # SSE registers
81 xmm0    XMM0            xmmreg          0
82 xmm1-15 XMMREG          xmmreg          1