doc: changes -- Add fixes for VMOVNTDQA, MOVNTDQA, MOVLPD
[platform/upstream/nasm.git] / regs.dat
1 ## --------------------------------------------------------------------------
2 ##   
3 ##   Copyright 1996-2009 The NASM Authors - All Rights Reserved
4 ##   See the file AUTHORS included with the NASM distribution for
5 ##   the specific copyright holders.
6 ##
7 ##   Redistribution and use in source and binary forms, with or without
8 ##   modification, are permitted provided that the following
9 ##   conditions are met:
10 ##
11 ##   * Redistributions of source code must retain the above copyright
12 ##     notice, this list of conditions and the following disclaimer.
13 ##   * Redistributions in binary form must reproduce the above
14 ##     copyright notice, this list of conditions and the following
15 ##     disclaimer in the documentation and/or other materials provided
16 ##     with the distribution.
17 ##     
18 ##     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
19 ##     CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
20 ##     INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
21 ##     MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 ##     DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23 ##     CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24 ##     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 ##     NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
26 ##     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 ##     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 ##     CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 ##     OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 ##     EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ##
32 ## --------------------------------------------------------------------------
33
34 #
35 # List of registers and their classes; classes are defined in nasm.h
36 #
37 # The columns are:
38 #
39 # register name, assembler class, disassembler class(es), x86 register number
40 #
41 # If the register name ends in two numbers separated by a dash, then it is
42 # repeated as many times as indicated, and the register number is
43 # updated with it.
44 #
45
46 # General-purpose registers
47 al      REG_AL          reg8,reg8_rex   0
48 ah      REG_HIGH        reg8            4
49 ax      REG_AX          reg16           0
50 eax     REG_EAX         reg32           0
51 rax     REG_RAX         reg64           0
52 bl      REG8NA          reg8,reg8_rex   3
53 bh      REG_HIGH        reg8            7
54 bx      REG16NA         reg16           3
55 ebx     REG32NA         reg32           3
56 rbx     REG64NA         reg64           3
57 cl      REG_CL          reg8,reg8_rex   1
58 ch      REG_HIGH        reg8            5
59 cx      REG_CX          reg16           1
60 ecx     REG_ECX         reg32           1
61 rcx     REG_RCX         reg64           1
62 dl      REG_DL          reg8,reg8_rex   2
63 dh      REG_HIGH        reg8            6
64 dx      REG_DX          reg16           2
65 edx     REG_EDX         reg32           2
66 rdx     REG_RDX         reg64           2
67 spl     REG8NA          reg8_rex        4
68 sp      REG16NA         reg16           4
69 esp     REG32NA         reg32           4
70 rsp     REG64NA         reg64           4
71 bpl     REG8NA          reg8_rex        5
72 bp      REG16NA         reg16           5
73 ebp     REG32NA         reg32           5
74 rbp     REG64NA         reg64           5
75 sil     REG8NA          reg8_rex        6
76 si      REG16NA         reg16           6
77 esi     REG32NA         reg32           6
78 rsi     REG64NA         reg64           6
79 dil     REG8NA          reg8_rex        7
80 di      REG16NA         reg16           7
81 edi     REG32NA         reg32           7
82 rdi     REG64NA         reg64           7
83 r8-15b  REG8NA          reg8_rex        8
84 r8-15w  REG16NA         reg16           8
85 r8-15d  REG32NA         reg32           8
86 r8-15   REG64NA         reg64           8
87
88 # Segment registers
89 es      REG_ES          sreg            0
90 cs      REG_CS          sreg            1
91 ss      REG_SS          sreg            2
92 ds      REG_DS          sreg            3
93 fs      REG_FS          sreg            4
94 gs      REG_GS          sreg            5
95 segr6-7 REG_SEG67       sreg            6
96
97 # Control registers
98 cr0-15  REG_CREG        creg            0
99
100 # Debug registers
101 dr0-15  REG_DREG        dreg            0
102
103 # Test registers
104 tr0-7   REG_TREG        treg            0
105
106 # Floating-point registers
107 st0     FPU0            fpureg          0
108 st1-7   FPUREG          fpureg          1
109
110 # MMX registers
111 mm0-7   MMXREG          mmxreg          0
112
113 # SSE registers
114 xmm0    XMM0            xmmreg          0
115 xmm1-15 XMMREG          xmmreg          1
116
117 # AVX registers
118 ymm0    YMM0            ymmreg          0
119 ymm1-15 YMMREG          ymmreg          1