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