1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
static const ZydisRegisterLookupItem REG_LOOKUP[] =
{
/* NONE */ { ZYDIS_REGCLASS_INVALID, -1, 0, 0 },
/* AL */ { ZYDIS_REGCLASS_GPR8, 0, 8, 8 },
/* CL */ { ZYDIS_REGCLASS_GPR8, 1, 8, 8 },
/* DL */ { ZYDIS_REGCLASS_GPR8, 2, 8, 8 },
/* BL */ { ZYDIS_REGCLASS_GPR8, 3, 8, 8 },
/* AH */ { ZYDIS_REGCLASS_GPR8, 4, 8, 8 },
/* CH */ { ZYDIS_REGCLASS_GPR8, 5, 8, 8 },
/* DH */ { ZYDIS_REGCLASS_GPR8, 6, 8, 8 },
/* BH */ { ZYDIS_REGCLASS_GPR8, 7, 8, 8 },
/* SPL */ { ZYDIS_REGCLASS_GPR8, 8, 8, 8 },
/* BPL */ { ZYDIS_REGCLASS_GPR8, 9, 8, 8 },
/* SIL */ { ZYDIS_REGCLASS_GPR8, 10, 8, 8 },
/* DIL */ { ZYDIS_REGCLASS_GPR8, 11, 8, 8 },
/* R8B */ { ZYDIS_REGCLASS_GPR8, 12, 8, 8 },
/* R9B */ { ZYDIS_REGCLASS_GPR8, 13, 8, 8 },
/* R10B */ { ZYDIS_REGCLASS_GPR8, 14, 8, 8 },
/* R11B */ { ZYDIS_REGCLASS_GPR8, 15, 8, 8 },
/* R12B */ { ZYDIS_REGCLASS_GPR8, 16, 8, 8 },
/* R13B */ { ZYDIS_REGCLASS_GPR8, 17, 8, 8 },
/* R14B */ { ZYDIS_REGCLASS_GPR8, 18, 8, 8 },
/* R15B */ { ZYDIS_REGCLASS_GPR8, 19, 8, 8 },
/* AX */ { ZYDIS_REGCLASS_GPR16, 0, 16, 16 },
/* CX */ { ZYDIS_REGCLASS_GPR16, 1, 16, 16 },
/* DX */ { ZYDIS_REGCLASS_GPR16, 2, 16, 16 },
/* BX */ { ZYDIS_REGCLASS_GPR16, 3, 16, 16 },
/* SP */ { ZYDIS_REGCLASS_GPR16, 4, 16, 16 },
/* BP */ { ZYDIS_REGCLASS_GPR16, 5, 16, 16 },
/* SI */ { ZYDIS_REGCLASS_GPR16, 6, 16, 16 },
/* DI */ { ZYDIS_REGCLASS_GPR16, 7, 16, 16 },
/* R8W */ { ZYDIS_REGCLASS_GPR16, 8, 16, 16 },
/* R9W */ { ZYDIS_REGCLASS_GPR16, 9, 16, 16 },
/* R10W */ { ZYDIS_REGCLASS_GPR16, 10, 16, 16 },
/* R11W */ { ZYDIS_REGCLASS_GPR16, 11, 16, 16 },
/* R12W */ { ZYDIS_REGCLASS_GPR16, 12, 16, 16 },
/* R13W */ { ZYDIS_REGCLASS_GPR16, 13, 16, 16 },
/* R14W */ { ZYDIS_REGCLASS_GPR16, 14, 16, 16 },
/* R15W */ { ZYDIS_REGCLASS_GPR16, 15, 16, 16 },
/* EAX */ { ZYDIS_REGCLASS_GPR32, 0, 32, 32 },
/* ECX */ { ZYDIS_REGCLASS_GPR32, 1, 32, 32 },
/* EDX */ { ZYDIS_REGCLASS_GPR32, 2, 32, 32 },
/* EBX */ { ZYDIS_REGCLASS_GPR32, 3, 32, 32 },
/* ESP */ { ZYDIS_REGCLASS_GPR32, 4, 32, 32 },
/* EBP */ { ZYDIS_REGCLASS_GPR32, 5, 32, 32 },
/* ESI */ { ZYDIS_REGCLASS_GPR32, 6, 32, 32 },
/* EDI */ { ZYDIS_REGCLASS_GPR32, 7, 32, 32 },
/* R8D */ { ZYDIS_REGCLASS_GPR32, 8, 32, 32 },
/* R9D */ { ZYDIS_REGCLASS_GPR32, 9, 32, 32 },
/* R10D */ { ZYDIS_REGCLASS_GPR32, 10, 32, 32 },
/* R11D */ { ZYDIS_REGCLASS_GPR32, 11, 32, 32 },
/* R12D */ { ZYDIS_REGCLASS_GPR32, 12, 32, 32 },
/* R13D */ { ZYDIS_REGCLASS_GPR32, 13, 32, 32 },
/* R14D */ { ZYDIS_REGCLASS_GPR32, 14, 32, 32 },
/* R15D */ { ZYDIS_REGCLASS_GPR32, 15, 32, 32 },
/* RAX */ { ZYDIS_REGCLASS_GPR64, 0, 0, 64 },
/* RCX */ { ZYDIS_REGCLASS_GPR64, 1, 0, 64 },
/* RDX */ { ZYDIS_REGCLASS_GPR64, 2, 0, 64 },
/* RBX */ { ZYDIS_REGCLASS_GPR64, 3, 0, 64 },
/* RSP */ { ZYDIS_REGCLASS_GPR64, 4, 0, 64 },
/* RBP */ { ZYDIS_REGCLASS_GPR64, 5, 0, 64 },
/* RSI */ { ZYDIS_REGCLASS_GPR64, 6, 0, 64 },
/* RDI */ { ZYDIS_REGCLASS_GPR64, 7, 0, 64 },
/* R8 */ { ZYDIS_REGCLASS_GPR64, 8, 0, 64 },
/* R9 */ { ZYDIS_REGCLASS_GPR64, 9, 0, 64 },
/* R10 */ { ZYDIS_REGCLASS_GPR64, 10, 0, 64 },
/* R11 */ { ZYDIS_REGCLASS_GPR64, 11, 0, 64 },
/* R12 */ { ZYDIS_REGCLASS_GPR64, 12, 0, 64 },
/* R13 */ { ZYDIS_REGCLASS_GPR64, 13, 0, 64 },
/* R14 */ { ZYDIS_REGCLASS_GPR64, 14, 0, 64 },
/* R15 */ { ZYDIS_REGCLASS_GPR64, 15, 0, 64 },
/* ST0 */ { ZYDIS_REGCLASS_X87, 0, 80, 80 },
/* ST1 */ { ZYDIS_REGCLASS_X87, 1, 80, 80 },
/* ST2 */ { ZYDIS_REGCLASS_X87, 2, 80, 80 },
/* ST3 */ { ZYDIS_REGCLASS_X87, 3, 80, 80 },
/* ST4 */ { ZYDIS_REGCLASS_X87, 4, 80, 80 },
/* ST5 */ { ZYDIS_REGCLASS_X87, 5, 80, 80 },
/* ST6 */ { ZYDIS_REGCLASS_X87, 6, 80, 80 },
/* ST7 */ { ZYDIS_REGCLASS_X87, 7, 80, 80 },
/* X87CONTROL */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
/* X87STATUS */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
/* X87TAG */ { ZYDIS_REGCLASS_INVALID, -1, 16, 16 },
/* MM0 */ { ZYDIS_REGCLASS_MMX, 0, 64, 64 },
/* MM1 */ { ZYDIS_REGCLASS_MMX, 1, 64, 64 },
/* MM2 */ { ZYDIS_REGCLASS_MMX, 2, 64, 64 },
/* MM3 */ { ZYDIS_REGCLASS_MMX, 3, 64, 64 },
/* MM4 */ { ZYDIS_REGCLASS_MMX, 4, 64, 64 },
/* MM5 */ { ZYDIS_REGCLASS_MMX, 5, 64, 64 },
/* MM6 */ { ZYDIS_REGCLASS_MMX, 6, 64, 64 },
/* MM7 */ { ZYDIS_REGCLASS_MMX, 7, 64, 64 },
/* XMM0 */ { ZYDIS_REGCLASS_XMM, 0, 128, 128 },
/* XMM1 */ { ZYDIS_REGCLASS_XMM, 1, 128, 128 },
/* XMM2 */ { ZYDIS_REGCLASS_XMM, 2, 128, 128 },
/* XMM3 */ { ZYDIS_REGCLASS_XMM, 3, 128, 128 },
/* XMM4 */ { ZYDIS_REGCLASS_XMM, 4, 128, 128 },
/* XMM5 */ { ZYDIS_REGCLASS_XMM, 5, 128, 128 },
/* XMM6 */ { ZYDIS_REGCLASS_XMM, 6, 128, 128 },
/* XMM7 */ { ZYDIS_REGCLASS_XMM, 7, 128, 128 },
/* XMM8 */ { ZYDIS_REGCLASS_XMM, 8, 128, 128 },
/* XMM9 */ { ZYDIS_REGCLASS_XMM, 9, 128, 128 },
/* XMM10 */ { ZYDIS_REGCLASS_XMM, 10, 128, 128 },
/* XMM11 */ { ZYDIS_REGCLASS_XMM, 11, 128, 128 },
/* XMM12 */ { ZYDIS_REGCLASS_XMM, 12, 128, 128 },
/* XMM13 */ { ZYDIS_REGCLASS_XMM, 13, 128, 128 },
/* XMM14 */ { ZYDIS_REGCLASS_XMM, 14, 128, 128 },
/* XMM15 */ { ZYDIS_REGCLASS_XMM, 15, 128, 128 },
/* XMM16 */ { ZYDIS_REGCLASS_XMM, 16, 128, 128 },
/* XMM17 */ { ZYDIS_REGCLASS_XMM, 17, 128, 128 },
/* XMM18 */ { ZYDIS_REGCLASS_XMM, 18, 128, 128 },
/* XMM19 */ { ZYDIS_REGCLASS_XMM, 19, 128, 128 },
/* XMM20 */ { ZYDIS_REGCLASS_XMM, 20, 128, 128 },
/* XMM21 */ { ZYDIS_REGCLASS_XMM, 21, 128, 128 },
/* XMM22 */ { ZYDIS_REGCLASS_XMM, 22, 128, 128 },
/* XMM23 */ { ZYDIS_REGCLASS_XMM, 23, 128, 128 },
/* XMM24 */ { ZYDIS_REGCLASS_XMM, 24, 128, 128 },
/* XMM25 */ { ZYDIS_REGCLASS_XMM, 25, 128, 128 },
/* XMM26 */ { ZYDIS_REGCLASS_XMM, 26, 128, 128 },
/* XMM27 */ { ZYDIS_REGCLASS_XMM, 27, 128, 128 },
/* XMM28 */ { ZYDIS_REGCLASS_XMM, 28, 128, 128 },
/* XMM29 */ { ZYDIS_REGCLASS_XMM, 29, 128, 128 },
/* XMM30 */ { ZYDIS_REGCLASS_XMM, 30, 128, 128 },
/* XMM31 */ { ZYDIS_REGCLASS_XMM, 31, 128, 128 },
/* YMM0 */ { ZYDIS_REGCLASS_YMM, 0, 256, 256 },
/* YMM1 */ { ZYDIS_REGCLASS_YMM, 1, 256, 256 },
/* YMM2 */ { ZYDIS_REGCLASS_YMM, 2, 256, 256 },
/* YMM3 */ { ZYDIS_REGCLASS_YMM, 3, 256, 256 },
/* YMM4 */ { ZYDIS_REGCLASS_YMM, 4, 256, 256 },
/* YMM5 */ { ZYDIS_REGCLASS_YMM, 5, 256, 256 },
/* YMM6 */ { ZYDIS_REGCLASS_YMM, 6, 256, 256 },
/* YMM7 */ { ZYDIS_REGCLASS_YMM, 7, 256, 256 },
/* YMM8 */ { ZYDIS_REGCLASS_YMM, 8, 256, 256 },
/* YMM9 */ { ZYDIS_REGCLASS_YMM, 9, 256, 256 },
/* YMM10 */ { ZYDIS_REGCLASS_YMM, 10, 256, 256 },
/* YMM11 */ { ZYDIS_REGCLASS_YMM, 11, 256, 256 },
/* YMM12 */ { ZYDIS_REGCLASS_YMM, 12, 256, 256 },
/* YMM13 */ { ZYDIS_REGCLASS_YMM, 13, 256, 256 },
/* YMM14 */ { ZYDIS_REGCLASS_YMM, 14, 256, 256 },
/* YMM15 */ { ZYDIS_REGCLASS_YMM, 15, 256, 256 },
/* YMM16 */ { ZYDIS_REGCLASS_YMM, 16, 256, 256 },
/* YMM17 */ { ZYDIS_REGCLASS_YMM, 17, 256, 256 },
/* YMM18 */ { ZYDIS_REGCLASS_YMM, 18, 256, 256 },
/* YMM19 */ { ZYDIS_REGCLASS_YMM, 19, 256, 256 },
/* YMM20 */ { ZYDIS_REGCLASS_YMM, 20, 256, 256 },
/* YMM21 */ { ZYDIS_REGCLASS_YMM, 21, 256, 256 },
/* YMM22 */ { ZYDIS_REGCLASS_YMM, 22, 256, 256 },
/* YMM23 */ { ZYDIS_REGCLASS_YMM, 23, 256, 256 },
/* YMM24 */ { ZYDIS_REGCLASS_YMM, 24, 256, 256 },
/* YMM25 */ { ZYDIS_REGCLASS_YMM, 25, 256, 256 },
/* YMM26 */ { ZYDIS_REGCLASS_YMM, 26, 256, 256 },
/* YMM27 */ { ZYDIS_REGCLASS_YMM, 27, 256, 256 },
/* YMM28 */ { ZYDIS_REGCLASS_YMM, 28, 256, 256 },
/* YMM29 */ { ZYDIS_REGCLASS_YMM, 29, 256, 256 },
/* YMM30 */ { ZYDIS_REGCLASS_YMM, 30, 256, 256 },
/* YMM31 */ { ZYDIS_REGCLASS_YMM, 31, 256, 256 },
/* ZMM0 */ { ZYDIS_REGCLASS_ZMM, 0, 512, 512 },
/* ZMM1 */ { ZYDIS_REGCLASS_ZMM, 1, 512, 512 },
/* ZMM2 */ { ZYDIS_REGCLASS_ZMM, 2, 512, 512 },
/* ZMM3 */ { ZYDIS_REGCLASS_ZMM, 3, 512, 512 },
/* ZMM4 */ { ZYDIS_REGCLASS_ZMM, 4, 512, 512 },
/* ZMM5 */ { ZYDIS_REGCLASS_ZMM, 5, 512, 512 },
/* ZMM6 */ { ZYDIS_REGCLASS_ZMM, 6, 512, 512 },
/* ZMM7 */ { ZYDIS_REGCLASS_ZMM, 7, 512, 512 },
/* ZMM8 */ { ZYDIS_REGCLASS_ZMM, 8, 512, 512 },
/* ZMM9 */ { ZYDIS_REGCLASS_ZMM, 9, 512, 512 },
/* ZMM10 */ { ZYDIS_REGCLASS_ZMM, 10, 512, 512 },
/* ZMM11 */ { ZYDIS_REGCLASS_ZMM, 11, 512, 512 },
/* ZMM12 */ { ZYDIS_REGCLASS_ZMM, 12, 512, 512 },
/* ZMM13 */ { ZYDIS_REGCLASS_ZMM, 13, 512, 512 },
/* ZMM14 */ { ZYDIS_REGCLASS_ZMM, 14, 512, 512 },
/* ZMM15 */ { ZYDIS_REGCLASS_ZMM, 15, 512, 512 },
/* ZMM16 */ { ZYDIS_REGCLASS_ZMM, 16, 512, 512 },
/* ZMM17 */ { ZYDIS_REGCLASS_ZMM, 17, 512, 512 },
/* ZMM18 */ { ZYDIS_REGCLASS_ZMM, 18, 512, 512 },
/* ZMM19 */ { ZYDIS_REGCLASS_ZMM, 19, 512, 512 },
/* ZMM20 */ { ZYDIS_REGCLASS_ZMM, 20, 512, 512 },
/* ZMM21 */ { ZYDIS_REGCLASS_ZMM, 21, 512, 512 },
/* ZMM22 */ { ZYDIS_REGCLASS_ZMM, 22, 512, 512 },
/* ZMM23 */ { ZYDIS_REGCLASS_ZMM, 23, 512, 512 },
/* ZMM24 */ { ZYDIS_REGCLASS_ZMM, 24, 512, 512 },
/* ZMM25 */ { ZYDIS_REGCLASS_ZMM, 25, 512, 512 },
/* ZMM26 */ { ZYDIS_REGCLASS_ZMM, 26, 512, 512 },
/* ZMM27 */ { ZYDIS_REGCLASS_ZMM, 27, 512, 512 },
/* ZMM28 */ { ZYDIS_REGCLASS_ZMM, 28, 512, 512 },
/* ZMM29 */ { ZYDIS_REGCLASS_ZMM, 29, 512, 512 },
/* ZMM30 */ { ZYDIS_REGCLASS_ZMM, 30, 512, 512 },
/* ZMM31 */ { ZYDIS_REGCLASS_ZMM, 31, 512, 512 },
/* TMM0 */ { ZYDIS_REGCLASS_TMM, 0, 8192, 8192 },
/* TMM1 */ { ZYDIS_REGCLASS_TMM, 1, 8192, 8192 },
/* TMM2 */ { ZYDIS_REGCLASS_TMM, 2, 8192, 8192 },
/* TMM3 */ { ZYDIS_REGCLASS_TMM, 3, 8192, 8192 },
/* TMM4 */ { ZYDIS_REGCLASS_TMM, 4, 8192, 8192 },
/* TMM5 */ { ZYDIS_REGCLASS_TMM, 5, 8192, 8192 },
/* TMM6 */ { ZYDIS_REGCLASS_TMM, 6, 8192, 8192 },
/* TMM7 */ { ZYDIS_REGCLASS_TMM, 7, 8192, 8192 },
/* FLAGS */ { ZYDIS_REGCLASS_FLAGS, -1, 16, 16 },
/* EFLAGS */ { ZYDIS_REGCLASS_FLAGS, -1, 32, 32 },
/* RFLAGS */ { ZYDIS_REGCLASS_FLAGS, -1, 0, 64 },
/* IP */ { ZYDIS_REGCLASS_IP, -1, 16, 16 },
/* EIP */ { ZYDIS_REGCLASS_IP, -1, 32, 32 },
/* RIP */ { ZYDIS_REGCLASS_IP, -1, 0, 64 },
/* ES */ { ZYDIS_REGCLASS_SEGMENT, 0, 16, 16 },
/* CS */ { ZYDIS_REGCLASS_SEGMENT, 1, 16, 16 },
/* SS */ { ZYDIS_REGCLASS_SEGMENT, 2, 16, 16 },
/* DS */ { ZYDIS_REGCLASS_SEGMENT, 3, 16, 16 },
/* FS */ { ZYDIS_REGCLASS_SEGMENT, 4, 16, 16 },
/* GS */ { ZYDIS_REGCLASS_SEGMENT, 5, 16, 16 },
/* GDTR */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
/* LDTR */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
/* IDTR */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
/* TR */ { ZYDIS_REGCLASS_TABLE, -1, 0, 0 },
/* TR0 */ { ZYDIS_REGCLASS_TEST, 0, 32, 32 },
/* TR1 */ { ZYDIS_REGCLASS_TEST, 1, 32, 32 },
/* TR2 */ { ZYDIS_REGCLASS_TEST, 2, 32, 32 },
/* TR3 */ { ZYDIS_REGCLASS_TEST, 3, 32, 32 },
/* TR4 */ { ZYDIS_REGCLASS_TEST, 4, 32, 32 },
/* TR5 */ { ZYDIS_REGCLASS_TEST, 5, 32, 32 },
/* TR6 */ { ZYDIS_REGCLASS_TEST, 6, 32, 32 },
/* TR7 */ { ZYDIS_REGCLASS_TEST, 7, 32, 32 },
/* CR0 */ { ZYDIS_REGCLASS_CONTROL, 0, 32, 64 },
/* CR1 */ { ZYDIS_REGCLASS_CONTROL, 1, 32, 64 },
/* CR2 */ { ZYDIS_REGCLASS_CONTROL, 2, 32, 64 },
/* CR3 */ { ZYDIS_REGCLASS_CONTROL, 3, 32, 64 },
/* CR4 */ { ZYDIS_REGCLASS_CONTROL, 4, 32, 64 },
/* CR5 */ { ZYDIS_REGCLASS_CONTROL, 5, 32, 64 },
/* CR6 */ { ZYDIS_REGCLASS_CONTROL, 6, 32, 64 },
/* CR7 */ { ZYDIS_REGCLASS_CONTROL, 7, 32, 64 },
/* CR8 */ { ZYDIS_REGCLASS_CONTROL, 8, 32, 64 },
/* CR9 */ { ZYDIS_REGCLASS_CONTROL, 9, 32, 64 },
/* CR10 */ { ZYDIS_REGCLASS_CONTROL, 10, 32, 64 },
/* CR11 */ { ZYDIS_REGCLASS_CONTROL, 11, 32, 64 },
/* CR12 */ { ZYDIS_REGCLASS_CONTROL, 12, 32, 64 },
/* CR13 */ { ZYDIS_REGCLASS_CONTROL, 13, 32, 64 },
/* CR14 */ { ZYDIS_REGCLASS_CONTROL, 14, 32, 64 },
/* CR15 */ { ZYDIS_REGCLASS_CONTROL, 15, 32, 64 },
/* DR0 */ { ZYDIS_REGCLASS_DEBUG, 0, 32, 64 },
/* DR1 */ { ZYDIS_REGCLASS_DEBUG, 1, 32, 64 },
/* DR2 */ { ZYDIS_REGCLASS_DEBUG, 2, 32, 64 },
/* DR3 */ { ZYDIS_REGCLASS_DEBUG, 3, 32, 64 },
/* DR4 */ { ZYDIS_REGCLASS_DEBUG, 4, 32, 64 },
/* DR5 */ { ZYDIS_REGCLASS_DEBUG, 5, 32, 64 },
/* DR6 */ { ZYDIS_REGCLASS_DEBUG, 6, 32, 64 },
/* DR7 */ { ZYDIS_REGCLASS_DEBUG, 7, 32, 64 },
/* DR8 */ { ZYDIS_REGCLASS_DEBUG, 8, 32, 64 },
/* DR9 */ { ZYDIS_REGCLASS_DEBUG, 9, 32, 64 },
/* DR10 */ { ZYDIS_REGCLASS_DEBUG, 10, 32, 64 },
/* DR11 */ { ZYDIS_REGCLASS_DEBUG, 11, 32, 64 },
/* DR12 */ { ZYDIS_REGCLASS_DEBUG, 12, 32, 64 },
/* DR13 */ { ZYDIS_REGCLASS_DEBUG, 13, 32, 64 },
/* DR14 */ { ZYDIS_REGCLASS_DEBUG, 14, 32, 64 },
/* DR15 */ { ZYDIS_REGCLASS_DEBUG, 15, 32, 64 },
/* K0 */ { ZYDIS_REGCLASS_MASK, 0, 64, 64 },
/* K1 */ { ZYDIS_REGCLASS_MASK, 1, 64, 64 },
/* K2 */ { ZYDIS_REGCLASS_MASK, 2, 64, 64 },
/* K3 */ { ZYDIS_REGCLASS_MASK, 3, 64, 64 },
/* K4 */ { ZYDIS_REGCLASS_MASK, 4, 64, 64 },
/* K5 */ { ZYDIS_REGCLASS_MASK, 5, 64, 64 },
/* K6 */ { ZYDIS_REGCLASS_MASK, 6, 64, 64 },
/* K7 */ { ZYDIS_REGCLASS_MASK, 7, 64, 64 },
/* BND0 */ { ZYDIS_REGCLASS_BOUND, 0, 128, 128 },
/* BND1 */ { ZYDIS_REGCLASS_BOUND, 1, 128, 128 },
/* BND2 */ { ZYDIS_REGCLASS_BOUND, 2, 128, 128 },
/* BND3 */ { ZYDIS_REGCLASS_BOUND, 3, 128, 128 },
/* BNDCFG */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
/* BNDSTATUS */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
/* MXCSR */ { ZYDIS_REGCLASS_INVALID, -1, 32, 32 },
/* PKRU */ { ZYDIS_REGCLASS_INVALID, -1, 32, 32 },
/* XCR0 */ { ZYDIS_REGCLASS_INVALID, -1, 64, 64 },
/* UIF */ { ZYDIS_REGCLASS_INVALID, -1, 1, 1 }
};
|