Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/dep/zydis/include/Zydis/Generated/EnumRegister.h
6251 views
1
/**
2
* Defines the `ZydisRegister` enum.
3
*/
4
typedef enum ZydisRegister_
5
{
6
ZYDIS_REGISTER_NONE,
7
8
// General purpose registers 8-bit
9
ZYDIS_REGISTER_AL,
10
ZYDIS_REGISTER_CL,
11
ZYDIS_REGISTER_DL,
12
ZYDIS_REGISTER_BL,
13
ZYDIS_REGISTER_AH,
14
ZYDIS_REGISTER_CH,
15
ZYDIS_REGISTER_DH,
16
ZYDIS_REGISTER_BH,
17
ZYDIS_REGISTER_SPL,
18
ZYDIS_REGISTER_BPL,
19
ZYDIS_REGISTER_SIL,
20
ZYDIS_REGISTER_DIL,
21
ZYDIS_REGISTER_R8B,
22
ZYDIS_REGISTER_R9B,
23
ZYDIS_REGISTER_R10B,
24
ZYDIS_REGISTER_R11B,
25
ZYDIS_REGISTER_R12B,
26
ZYDIS_REGISTER_R13B,
27
ZYDIS_REGISTER_R14B,
28
ZYDIS_REGISTER_R15B,
29
30
// General purpose registers 16-bit
31
ZYDIS_REGISTER_AX,
32
ZYDIS_REGISTER_CX,
33
ZYDIS_REGISTER_DX,
34
ZYDIS_REGISTER_BX,
35
ZYDIS_REGISTER_SP,
36
ZYDIS_REGISTER_BP,
37
ZYDIS_REGISTER_SI,
38
ZYDIS_REGISTER_DI,
39
ZYDIS_REGISTER_R8W,
40
ZYDIS_REGISTER_R9W,
41
ZYDIS_REGISTER_R10W,
42
ZYDIS_REGISTER_R11W,
43
ZYDIS_REGISTER_R12W,
44
ZYDIS_REGISTER_R13W,
45
ZYDIS_REGISTER_R14W,
46
ZYDIS_REGISTER_R15W,
47
48
// General purpose registers 32-bit
49
ZYDIS_REGISTER_EAX,
50
ZYDIS_REGISTER_ECX,
51
ZYDIS_REGISTER_EDX,
52
ZYDIS_REGISTER_EBX,
53
ZYDIS_REGISTER_ESP,
54
ZYDIS_REGISTER_EBP,
55
ZYDIS_REGISTER_ESI,
56
ZYDIS_REGISTER_EDI,
57
ZYDIS_REGISTER_R8D,
58
ZYDIS_REGISTER_R9D,
59
ZYDIS_REGISTER_R10D,
60
ZYDIS_REGISTER_R11D,
61
ZYDIS_REGISTER_R12D,
62
ZYDIS_REGISTER_R13D,
63
ZYDIS_REGISTER_R14D,
64
ZYDIS_REGISTER_R15D,
65
66
// General purpose registers 64-bit
67
ZYDIS_REGISTER_RAX,
68
ZYDIS_REGISTER_RCX,
69
ZYDIS_REGISTER_RDX,
70
ZYDIS_REGISTER_RBX,
71
ZYDIS_REGISTER_RSP,
72
ZYDIS_REGISTER_RBP,
73
ZYDIS_REGISTER_RSI,
74
ZYDIS_REGISTER_RDI,
75
ZYDIS_REGISTER_R8,
76
ZYDIS_REGISTER_R9,
77
ZYDIS_REGISTER_R10,
78
ZYDIS_REGISTER_R11,
79
ZYDIS_REGISTER_R12,
80
ZYDIS_REGISTER_R13,
81
ZYDIS_REGISTER_R14,
82
ZYDIS_REGISTER_R15,
83
84
// Floating point legacy registers
85
ZYDIS_REGISTER_ST0,
86
ZYDIS_REGISTER_ST1,
87
ZYDIS_REGISTER_ST2,
88
ZYDIS_REGISTER_ST3,
89
ZYDIS_REGISTER_ST4,
90
ZYDIS_REGISTER_ST5,
91
ZYDIS_REGISTER_ST6,
92
ZYDIS_REGISTER_ST7,
93
ZYDIS_REGISTER_X87CONTROL,
94
ZYDIS_REGISTER_X87STATUS,
95
ZYDIS_REGISTER_X87TAG,
96
97
// Floating point multimedia registers
98
ZYDIS_REGISTER_MM0,
99
ZYDIS_REGISTER_MM1,
100
ZYDIS_REGISTER_MM2,
101
ZYDIS_REGISTER_MM3,
102
ZYDIS_REGISTER_MM4,
103
ZYDIS_REGISTER_MM5,
104
ZYDIS_REGISTER_MM6,
105
ZYDIS_REGISTER_MM7,
106
107
// Floating point vector registers 128-bit
108
ZYDIS_REGISTER_XMM0,
109
ZYDIS_REGISTER_XMM1,
110
ZYDIS_REGISTER_XMM2,
111
ZYDIS_REGISTER_XMM3,
112
ZYDIS_REGISTER_XMM4,
113
ZYDIS_REGISTER_XMM5,
114
ZYDIS_REGISTER_XMM6,
115
ZYDIS_REGISTER_XMM7,
116
ZYDIS_REGISTER_XMM8,
117
ZYDIS_REGISTER_XMM9,
118
ZYDIS_REGISTER_XMM10,
119
ZYDIS_REGISTER_XMM11,
120
ZYDIS_REGISTER_XMM12,
121
ZYDIS_REGISTER_XMM13,
122
ZYDIS_REGISTER_XMM14,
123
ZYDIS_REGISTER_XMM15,
124
ZYDIS_REGISTER_XMM16,
125
ZYDIS_REGISTER_XMM17,
126
ZYDIS_REGISTER_XMM18,
127
ZYDIS_REGISTER_XMM19,
128
ZYDIS_REGISTER_XMM20,
129
ZYDIS_REGISTER_XMM21,
130
ZYDIS_REGISTER_XMM22,
131
ZYDIS_REGISTER_XMM23,
132
ZYDIS_REGISTER_XMM24,
133
ZYDIS_REGISTER_XMM25,
134
ZYDIS_REGISTER_XMM26,
135
ZYDIS_REGISTER_XMM27,
136
ZYDIS_REGISTER_XMM28,
137
ZYDIS_REGISTER_XMM29,
138
ZYDIS_REGISTER_XMM30,
139
ZYDIS_REGISTER_XMM31,
140
141
// Floating point vector registers 256-bit
142
ZYDIS_REGISTER_YMM0,
143
ZYDIS_REGISTER_YMM1,
144
ZYDIS_REGISTER_YMM2,
145
ZYDIS_REGISTER_YMM3,
146
ZYDIS_REGISTER_YMM4,
147
ZYDIS_REGISTER_YMM5,
148
ZYDIS_REGISTER_YMM6,
149
ZYDIS_REGISTER_YMM7,
150
ZYDIS_REGISTER_YMM8,
151
ZYDIS_REGISTER_YMM9,
152
ZYDIS_REGISTER_YMM10,
153
ZYDIS_REGISTER_YMM11,
154
ZYDIS_REGISTER_YMM12,
155
ZYDIS_REGISTER_YMM13,
156
ZYDIS_REGISTER_YMM14,
157
ZYDIS_REGISTER_YMM15,
158
ZYDIS_REGISTER_YMM16,
159
ZYDIS_REGISTER_YMM17,
160
ZYDIS_REGISTER_YMM18,
161
ZYDIS_REGISTER_YMM19,
162
ZYDIS_REGISTER_YMM20,
163
ZYDIS_REGISTER_YMM21,
164
ZYDIS_REGISTER_YMM22,
165
ZYDIS_REGISTER_YMM23,
166
ZYDIS_REGISTER_YMM24,
167
ZYDIS_REGISTER_YMM25,
168
ZYDIS_REGISTER_YMM26,
169
ZYDIS_REGISTER_YMM27,
170
ZYDIS_REGISTER_YMM28,
171
ZYDIS_REGISTER_YMM29,
172
ZYDIS_REGISTER_YMM30,
173
ZYDIS_REGISTER_YMM31,
174
175
// Floating point vector registers 512-bit
176
ZYDIS_REGISTER_ZMM0,
177
ZYDIS_REGISTER_ZMM1,
178
ZYDIS_REGISTER_ZMM2,
179
ZYDIS_REGISTER_ZMM3,
180
ZYDIS_REGISTER_ZMM4,
181
ZYDIS_REGISTER_ZMM5,
182
ZYDIS_REGISTER_ZMM6,
183
ZYDIS_REGISTER_ZMM7,
184
ZYDIS_REGISTER_ZMM8,
185
ZYDIS_REGISTER_ZMM9,
186
ZYDIS_REGISTER_ZMM10,
187
ZYDIS_REGISTER_ZMM11,
188
ZYDIS_REGISTER_ZMM12,
189
ZYDIS_REGISTER_ZMM13,
190
ZYDIS_REGISTER_ZMM14,
191
ZYDIS_REGISTER_ZMM15,
192
ZYDIS_REGISTER_ZMM16,
193
ZYDIS_REGISTER_ZMM17,
194
ZYDIS_REGISTER_ZMM18,
195
ZYDIS_REGISTER_ZMM19,
196
ZYDIS_REGISTER_ZMM20,
197
ZYDIS_REGISTER_ZMM21,
198
ZYDIS_REGISTER_ZMM22,
199
ZYDIS_REGISTER_ZMM23,
200
ZYDIS_REGISTER_ZMM24,
201
ZYDIS_REGISTER_ZMM25,
202
ZYDIS_REGISTER_ZMM26,
203
ZYDIS_REGISTER_ZMM27,
204
ZYDIS_REGISTER_ZMM28,
205
ZYDIS_REGISTER_ZMM29,
206
ZYDIS_REGISTER_ZMM30,
207
ZYDIS_REGISTER_ZMM31,
208
209
// Matrix registers
210
ZYDIS_REGISTER_TMM0,
211
ZYDIS_REGISTER_TMM1,
212
ZYDIS_REGISTER_TMM2,
213
ZYDIS_REGISTER_TMM3,
214
ZYDIS_REGISTER_TMM4,
215
ZYDIS_REGISTER_TMM5,
216
ZYDIS_REGISTER_TMM6,
217
ZYDIS_REGISTER_TMM7,
218
219
// Flags registers
220
ZYDIS_REGISTER_FLAGS,
221
ZYDIS_REGISTER_EFLAGS,
222
ZYDIS_REGISTER_RFLAGS,
223
224
// Instruction-pointer registers
225
ZYDIS_REGISTER_IP,
226
ZYDIS_REGISTER_EIP,
227
ZYDIS_REGISTER_RIP,
228
229
// Segment registers
230
ZYDIS_REGISTER_ES,
231
ZYDIS_REGISTER_CS,
232
ZYDIS_REGISTER_SS,
233
ZYDIS_REGISTER_DS,
234
ZYDIS_REGISTER_FS,
235
ZYDIS_REGISTER_GS,
236
237
// Table registers
238
ZYDIS_REGISTER_GDTR,
239
ZYDIS_REGISTER_LDTR,
240
ZYDIS_REGISTER_IDTR,
241
ZYDIS_REGISTER_TR,
242
243
// Test registers
244
ZYDIS_REGISTER_TR0,
245
ZYDIS_REGISTER_TR1,
246
ZYDIS_REGISTER_TR2,
247
ZYDIS_REGISTER_TR3,
248
ZYDIS_REGISTER_TR4,
249
ZYDIS_REGISTER_TR5,
250
ZYDIS_REGISTER_TR6,
251
ZYDIS_REGISTER_TR7,
252
253
// Control registers
254
ZYDIS_REGISTER_CR0,
255
ZYDIS_REGISTER_CR1,
256
ZYDIS_REGISTER_CR2,
257
ZYDIS_REGISTER_CR3,
258
ZYDIS_REGISTER_CR4,
259
ZYDIS_REGISTER_CR5,
260
ZYDIS_REGISTER_CR6,
261
ZYDIS_REGISTER_CR7,
262
ZYDIS_REGISTER_CR8,
263
ZYDIS_REGISTER_CR9,
264
ZYDIS_REGISTER_CR10,
265
ZYDIS_REGISTER_CR11,
266
ZYDIS_REGISTER_CR12,
267
ZYDIS_REGISTER_CR13,
268
ZYDIS_REGISTER_CR14,
269
ZYDIS_REGISTER_CR15,
270
271
// Debug registers
272
ZYDIS_REGISTER_DR0,
273
ZYDIS_REGISTER_DR1,
274
ZYDIS_REGISTER_DR2,
275
ZYDIS_REGISTER_DR3,
276
ZYDIS_REGISTER_DR4,
277
ZYDIS_REGISTER_DR5,
278
ZYDIS_REGISTER_DR6,
279
ZYDIS_REGISTER_DR7,
280
ZYDIS_REGISTER_DR8,
281
ZYDIS_REGISTER_DR9,
282
ZYDIS_REGISTER_DR10,
283
ZYDIS_REGISTER_DR11,
284
ZYDIS_REGISTER_DR12,
285
ZYDIS_REGISTER_DR13,
286
ZYDIS_REGISTER_DR14,
287
ZYDIS_REGISTER_DR15,
288
289
// Mask registers
290
ZYDIS_REGISTER_K0,
291
ZYDIS_REGISTER_K1,
292
ZYDIS_REGISTER_K2,
293
ZYDIS_REGISTER_K3,
294
ZYDIS_REGISTER_K4,
295
ZYDIS_REGISTER_K5,
296
ZYDIS_REGISTER_K6,
297
ZYDIS_REGISTER_K7,
298
299
// Bound registers
300
ZYDIS_REGISTER_BND0,
301
ZYDIS_REGISTER_BND1,
302
ZYDIS_REGISTER_BND2,
303
ZYDIS_REGISTER_BND3,
304
ZYDIS_REGISTER_BNDCFG,
305
ZYDIS_REGISTER_BNDSTATUS,
306
307
// Uncategorized
308
ZYDIS_REGISTER_MXCSR,
309
ZYDIS_REGISTER_PKRU,
310
ZYDIS_REGISTER_XCR0,
311
ZYDIS_REGISTER_UIF,
312
313
/**
314
* Maximum value of this enum.
315
*/
316
ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_UIF,
317
/**
318
* The minimum number of bits required to represent all values of this enum.
319
*/
320
ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE)
321
} ZydisRegister;
322
323