Zydis v4.0.0
Loading...
Searching...
No Matches
EnumRegister.h
1
4typedef 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
316 ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_UIF,
320 ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE)
321} ZydisRegister;