Zydis  v3.0.0
EnumRegister.h
1 
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  // 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  // Flags registers
201  ZYDIS_REGISTER_FLAGS,
202  ZYDIS_REGISTER_EFLAGS,
203  ZYDIS_REGISTER_RFLAGS,
204  // Instruction-pointer registers
205  ZYDIS_REGISTER_IP,
206  ZYDIS_REGISTER_EIP,
207  ZYDIS_REGISTER_RIP,
208  // Segment registers
209  ZYDIS_REGISTER_ES,
210  ZYDIS_REGISTER_CS,
211  ZYDIS_REGISTER_SS,
212  ZYDIS_REGISTER_DS,
213  ZYDIS_REGISTER_FS,
214  ZYDIS_REGISTER_GS,
215  // Table registers
216  ZYDIS_REGISTER_GDTR,
217  ZYDIS_REGISTER_LDTR,
218  ZYDIS_REGISTER_IDTR,
219  ZYDIS_REGISTER_TR,
220  // Test registers
221  ZYDIS_REGISTER_TR0,
222  ZYDIS_REGISTER_TR1,
223  ZYDIS_REGISTER_TR2,
224  ZYDIS_REGISTER_TR3,
225  ZYDIS_REGISTER_TR4,
226  ZYDIS_REGISTER_TR5,
227  ZYDIS_REGISTER_TR6,
228  ZYDIS_REGISTER_TR7,
229  // Control registers
230  ZYDIS_REGISTER_CR0,
231  ZYDIS_REGISTER_CR1,
232  ZYDIS_REGISTER_CR2,
233  ZYDIS_REGISTER_CR3,
234  ZYDIS_REGISTER_CR4,
235  ZYDIS_REGISTER_CR5,
236  ZYDIS_REGISTER_CR6,
237  ZYDIS_REGISTER_CR7,
238  ZYDIS_REGISTER_CR8,
239  ZYDIS_REGISTER_CR9,
240  ZYDIS_REGISTER_CR10,
241  ZYDIS_REGISTER_CR11,
242  ZYDIS_REGISTER_CR12,
243  ZYDIS_REGISTER_CR13,
244  ZYDIS_REGISTER_CR14,
245  ZYDIS_REGISTER_CR15,
246  // Debug registers
247  ZYDIS_REGISTER_DR0,
248  ZYDIS_REGISTER_DR1,
249  ZYDIS_REGISTER_DR2,
250  ZYDIS_REGISTER_DR3,
251  ZYDIS_REGISTER_DR4,
252  ZYDIS_REGISTER_DR5,
253  ZYDIS_REGISTER_DR6,
254  ZYDIS_REGISTER_DR7,
255  ZYDIS_REGISTER_DR8,
256  ZYDIS_REGISTER_DR9,
257  ZYDIS_REGISTER_DR10,
258  ZYDIS_REGISTER_DR11,
259  ZYDIS_REGISTER_DR12,
260  ZYDIS_REGISTER_DR13,
261  ZYDIS_REGISTER_DR14,
262  ZYDIS_REGISTER_DR15,
263  // Mask registers
264  ZYDIS_REGISTER_K0,
265  ZYDIS_REGISTER_K1,
266  ZYDIS_REGISTER_K2,
267  ZYDIS_REGISTER_K3,
268  ZYDIS_REGISTER_K4,
269  ZYDIS_REGISTER_K5,
270  ZYDIS_REGISTER_K6,
271  ZYDIS_REGISTER_K7,
272  // Bound registers
273  ZYDIS_REGISTER_BND0,
274  ZYDIS_REGISTER_BND1,
275  ZYDIS_REGISTER_BND2,
276  ZYDIS_REGISTER_BND3,
277  ZYDIS_REGISTER_BNDCFG,
278  ZYDIS_REGISTER_BNDSTATUS,
279  // Uncategorized
280  ZYDIS_REGISTER_MXCSR,
281  ZYDIS_REGISTER_PKRU,
282  ZYDIS_REGISTER_XCR0,
283 
287  ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_XCR0,
291  ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE)
292 } ZydisRegister;