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 0127
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