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
10 # 000-007 = 8-bit Registers
11 # 010-017 = 16-bit Registers
12 # 020-027 = 32-bit Registers
15 # 100-107 = Segment Registers
16 # 110-127 = Control Registers
17 # 130-147 = Debug Registers
18 # 150-167 = Test Registers
20 # Legacy Extended Registers
21 # 200-207 = FPU Registers
22 # 210-217 = MMX Registers
23 # 220-227 = XMM Registers (XMM0-XMM7)
25 # x64 Extended Registers
26 # 400-407 = 8-bit Extensions (SIL/DIL/BPL/SPL)
27 # 410-417 = 8-bit Registers (R8B-R15B)
28 # 420-427 = 16-bit Registers (R8W-R15W)
29 # 430-437 = 32-bit Registers (R8D-R15D)
30 # 440-457 = 64-bit Registers (RAX-RDI+R8-R15)
31 # 460-467 = XMM Extended Registers (XMM8-XMM15)
34 # 0500 = RIP (for RIP-relative Addressing)
37 # General-purpose registers
41 eax REG_EAX reg32
0020
42 rax REG_RAX reg64
0440
51 ecx REG_ECX reg32
0021
52 rcx REG_RCX reg64
0441
56 edx REG_EDX reg32
0022
57 rdx REG_RDX reg64
0442
100 r14d REG32 reg32
0436
103 r15w REG16 reg16
0427
104 r15d REG32 reg32
0437
109 ds REG_DESS sreg
0103
110 es REG_DESS sreg
0100
111 ss REG_DESS sreg
0102
112 fs REG_FSGS sreg
0104
113 gs REG_FSGS sreg
0105
114 segr6 REG_SEG67 sreg
0106
115 segr7 REG_SEG67 sreg
0107
118 cr0 REG_CREG creg
0110
119 cr1 REG_CREG creg
0111
120 cr2 REG_CREG creg
0112
121 cr3 REG_CREG creg
0113
122 cr4 REG_CREG creg
0114
123 cr5 REG_CREG creg
0115
124 cr6 REG_CREG creg
0116
125 cr7 REG_CREG creg
0117
126 cr8 REG_C8REG creg
0120
127 cr9 REG_CREG creg
0121
128 cr10 REG_CREG creg
0122
129 cr11 REG_CREG creg
0123
130 cr12 REG_CREG creg
0124
131 cr13 REG_CREG creg
0125
132 cr14 REG_CREG creg
0126
133 cr15 REG_CREG creg
0127
136 dr0 REG_DREG dreg
0130
137 dr1 REG_DREG dreg
0131
138 dr2 REG_DREG dreg
0132
139 dr3 REG_DREG dreg
0133
140 dr4 REG_DREG dreg
0134
141 dr5 REG_DREG dreg
0135
142 dr6 REG_DREG dreg
0136
143 dr7 REG_DREG dreg
0137
144 dr8 REG_DREG dreg
0140
145 dr9 REG_DREG dreg
0141
146 dr10 REG_DREG dreg
0142
147 dr11 REG_DREG dreg
0143
148 dr12 REG_DREG dreg
0144
149 dr13 REG_DREG dreg
0145
150 dr14 REG_DREG dreg
0146
151 dr15 REG_DREG dreg
0147
154 tr0 REG_TREG treg
0150
155 tr1 REG_TREG treg
0151
156 tr2 REG_TREG treg
0152
157 tr3 REG_TREG treg
0153
158 tr4 REG_TREG treg
0154
159 tr5 REG_TREG treg
0155
160 tr6 REG_TREG treg
0156
161 tr7 REG_TREG treg
0157
163 # Floating-point registers
165 st1 FPUREG fpureg
0201
166 st2 FPUREG fpureg
0202
167 st3 FPUREG fpureg
0203
168 st4 FPUREG fpureg
0204
169 st5 FPUREG fpureg
0205
170 st6 FPUREG fpureg
0206
171 st7 FPUREG fpureg
0207
174 mm0 MMXREG mmxreg
0220
175 mm1 MMXREG mmxreg
0221
176 mm2 MMXREG mmxreg
0222
177 mm3 MMXREG mmxreg
0223
178 mm4 MMXREG mmxreg
0224
179 mm5 MMXREG mmxreg
0225
180 mm6 MMXREG mmxreg
0226
181 mm7 MMXREG mmxreg
0227
185 xmm0 XMMREG xmmreg
0240
186 xmm1 XMMREG xmmreg
0241
187 xmm2 XMMREG xmmreg
0242
188 xmm3 XMMREG xmmreg
0243
189 xmm4 XMMREG xmmreg
0244
190 xmm5 XMMREG xmmreg
0245
191 xmm6 XMMREG xmmreg
0246
192 xmm7 XMMREG xmmreg
0247
193 xmm8 XMMREG xmmreg
0460
194 xmm9 XMMREG xmmreg
0461
195 xmm10 XMMREG xmmreg
0462
196 xmm11 XMMREG xmmreg
0463
197 xmm12 XMMREG xmmreg
0464
198 xmm13 XMMREG xmmreg
0465
199 xmm14 XMMREG xmmreg
0466
200 xmm15 XMMREG xmmreg
0467
203 rip REG_RIP ripreg
0500