1 static const ZydisShortString STR_REGISTERS[] =
3 ZYDIS_MAKE_SHORTSTRING("none"),
4 // General purpose registers 8-bit
5 ZYDIS_MAKE_SHORTSTRING("al"),
6 ZYDIS_MAKE_SHORTSTRING("cl"),
7 ZYDIS_MAKE_SHORTSTRING("dl"),
8 ZYDIS_MAKE_SHORTSTRING("bl"),
9 ZYDIS_MAKE_SHORTSTRING("ah"),
10 ZYDIS_MAKE_SHORTSTRING("ch"),
11 ZYDIS_MAKE_SHORTSTRING("dh"),
12 ZYDIS_MAKE_SHORTSTRING("bh"),
13 ZYDIS_MAKE_SHORTSTRING("spl"),
14 ZYDIS_MAKE_SHORTSTRING("bpl"),
15 ZYDIS_MAKE_SHORTSTRING("sil"),
16 ZYDIS_MAKE_SHORTSTRING("dil"),
17 ZYDIS_MAKE_SHORTSTRING("r8b"),
18 ZYDIS_MAKE_SHORTSTRING("r9b"),
19 ZYDIS_MAKE_SHORTSTRING("r10b"),
20 ZYDIS_MAKE_SHORTSTRING("r11b"),
21 ZYDIS_MAKE_SHORTSTRING("r12b"),
22 ZYDIS_MAKE_SHORTSTRING("r13b"),
23 ZYDIS_MAKE_SHORTSTRING("r14b"),
24 ZYDIS_MAKE_SHORTSTRING("r15b"),
25 // General purpose registers 16-bit
26 ZYDIS_MAKE_SHORTSTRING("ax"),
27 ZYDIS_MAKE_SHORTSTRING("cx"),
28 ZYDIS_MAKE_SHORTSTRING("dx"),
29 ZYDIS_MAKE_SHORTSTRING("bx"),
30 ZYDIS_MAKE_SHORTSTRING("sp"),
31 ZYDIS_MAKE_SHORTSTRING("bp"),
32 ZYDIS_MAKE_SHORTSTRING("si"),
33 ZYDIS_MAKE_SHORTSTRING("di"),
34 ZYDIS_MAKE_SHORTSTRING("r8w"),
35 ZYDIS_MAKE_SHORTSTRING("r9w"),
36 ZYDIS_MAKE_SHORTSTRING("r10w"),
37 ZYDIS_MAKE_SHORTSTRING("r11w"),
38 ZYDIS_MAKE_SHORTSTRING("r12w"),
39 ZYDIS_MAKE_SHORTSTRING("r13w"),
40 ZYDIS_MAKE_SHORTSTRING("r14w"),
41 ZYDIS_MAKE_SHORTSTRING("r15w"),
42 // General purpose registers 32-bit
43 ZYDIS_MAKE_SHORTSTRING("eax"),
44 ZYDIS_MAKE_SHORTSTRING("ecx"),
45 ZYDIS_MAKE_SHORTSTRING("edx"),
46 ZYDIS_MAKE_SHORTSTRING("ebx"),
47 ZYDIS_MAKE_SHORTSTRING("esp"),
48 ZYDIS_MAKE_SHORTSTRING("ebp"),
49 ZYDIS_MAKE_SHORTSTRING("esi"),
50 ZYDIS_MAKE_SHORTSTRING("edi"),
51 ZYDIS_MAKE_SHORTSTRING("r8d"),
52 ZYDIS_MAKE_SHORTSTRING("r9d"),
53 ZYDIS_MAKE_SHORTSTRING("r10d"),
54 ZYDIS_MAKE_SHORTSTRING("r11d"),
55 ZYDIS_MAKE_SHORTSTRING("r12d"),
56 ZYDIS_MAKE_SHORTSTRING("r13d"),
57 ZYDIS_MAKE_SHORTSTRING("r14d"),
58 ZYDIS_MAKE_SHORTSTRING("r15d"),
59 // General purpose registers 64-bit
60 ZYDIS_MAKE_SHORTSTRING("rax"),
61 ZYDIS_MAKE_SHORTSTRING("rcx"),
62 ZYDIS_MAKE_SHORTSTRING("rdx"),
63 ZYDIS_MAKE_SHORTSTRING("rbx"),
64 ZYDIS_MAKE_SHORTSTRING("rsp"),
65 ZYDIS_MAKE_SHORTSTRING("rbp"),
66 ZYDIS_MAKE_SHORTSTRING("rsi"),
67 ZYDIS_MAKE_SHORTSTRING("rdi"),
68 ZYDIS_MAKE_SHORTSTRING("r8"),
69 ZYDIS_MAKE_SHORTSTRING("r9"),
70 ZYDIS_MAKE_SHORTSTRING("r10"),
71 ZYDIS_MAKE_SHORTSTRING("r11"),
72 ZYDIS_MAKE_SHORTSTRING("r12"),
73 ZYDIS_MAKE_SHORTSTRING("r13"),
74 ZYDIS_MAKE_SHORTSTRING("r14"),
75 ZYDIS_MAKE_SHORTSTRING("r15"),
76 // Floating point legacy registers
77 ZYDIS_MAKE_SHORTSTRING("st0"),
78 ZYDIS_MAKE_SHORTSTRING("st1"),
79 ZYDIS_MAKE_SHORTSTRING("st2"),
80 ZYDIS_MAKE_SHORTSTRING("st3"),
81 ZYDIS_MAKE_SHORTSTRING("st4"),
82 ZYDIS_MAKE_SHORTSTRING("st5"),
83 ZYDIS_MAKE_SHORTSTRING("st6"),
84 ZYDIS_MAKE_SHORTSTRING("st7"),
85 ZYDIS_MAKE_SHORTSTRING("x87control"),
86 ZYDIS_MAKE_SHORTSTRING("x87status"),
87 ZYDIS_MAKE_SHORTSTRING("x87tag"),
88 // Floating point multimedia registers
89 ZYDIS_MAKE_SHORTSTRING("mm0"),
90 ZYDIS_MAKE_SHORTSTRING("mm1"),
91 ZYDIS_MAKE_SHORTSTRING("mm2"),
92 ZYDIS_MAKE_SHORTSTRING("mm3"),
93 ZYDIS_MAKE_SHORTSTRING("mm4"),
94 ZYDIS_MAKE_SHORTSTRING("mm5"),
95 ZYDIS_MAKE_SHORTSTRING("mm6"),
96 ZYDIS_MAKE_SHORTSTRING("mm7"),
97 // Floating point vector registers 128-bit
98 ZYDIS_MAKE_SHORTSTRING("xmm0"),
99 ZYDIS_MAKE_SHORTSTRING("xmm1"),
100 ZYDIS_MAKE_SHORTSTRING("xmm2"),
101 ZYDIS_MAKE_SHORTSTRING("xmm3"),
102 ZYDIS_MAKE_SHORTSTRING("xmm4"),
103 ZYDIS_MAKE_SHORTSTRING("xmm5"),
104 ZYDIS_MAKE_SHORTSTRING("xmm6"),
105 ZYDIS_MAKE_SHORTSTRING("xmm7"),
106 ZYDIS_MAKE_SHORTSTRING("xmm8"),
107 ZYDIS_MAKE_SHORTSTRING("xmm9"),
108 ZYDIS_MAKE_SHORTSTRING("xmm10"),
109 ZYDIS_MAKE_SHORTSTRING("xmm11"),
110 ZYDIS_MAKE_SHORTSTRING("xmm12"),
111 ZYDIS_MAKE_SHORTSTRING("xmm13"),
112 ZYDIS_MAKE_SHORTSTRING("xmm14"),
113 ZYDIS_MAKE_SHORTSTRING("xmm15"),
114 ZYDIS_MAKE_SHORTSTRING("xmm16"),
115 ZYDIS_MAKE_SHORTSTRING("xmm17"),
116 ZYDIS_MAKE_SHORTSTRING("xmm18"),
117 ZYDIS_MAKE_SHORTSTRING("xmm19"),
118 ZYDIS_MAKE_SHORTSTRING("xmm20"),
119 ZYDIS_MAKE_SHORTSTRING("xmm21"),
120 ZYDIS_MAKE_SHORTSTRING("xmm22"),
121 ZYDIS_MAKE_SHORTSTRING("xmm23"),
122 ZYDIS_MAKE_SHORTSTRING("xmm24"),
123 ZYDIS_MAKE_SHORTSTRING("xmm25"),
124 ZYDIS_MAKE_SHORTSTRING("xmm26"),
125 ZYDIS_MAKE_SHORTSTRING("xmm27"),
126 ZYDIS_MAKE_SHORTSTRING("xmm28"),
127 ZYDIS_MAKE_SHORTSTRING("xmm29"),
128 ZYDIS_MAKE_SHORTSTRING("xmm30"),
129 ZYDIS_MAKE_SHORTSTRING("xmm31"),
130 // Floating point vector registers 256-bit
131 ZYDIS_MAKE_SHORTSTRING("ymm0"),
132 ZYDIS_MAKE_SHORTSTRING("ymm1"),
133 ZYDIS_MAKE_SHORTSTRING("ymm2"),
134 ZYDIS_MAKE_SHORTSTRING("ymm3"),
135 ZYDIS_MAKE_SHORTSTRING("ymm4"),
136 ZYDIS_MAKE_SHORTSTRING("ymm5"),
137 ZYDIS_MAKE_SHORTSTRING("ymm6"),
138 ZYDIS_MAKE_SHORTSTRING("ymm7"),
139 ZYDIS_MAKE_SHORTSTRING("ymm8"),
140 ZYDIS_MAKE_SHORTSTRING("ymm9"),
141 ZYDIS_MAKE_SHORTSTRING("ymm10"),
142 ZYDIS_MAKE_SHORTSTRING("ymm11"),
143 ZYDIS_MAKE_SHORTSTRING("ymm12"),
144 ZYDIS_MAKE_SHORTSTRING("ymm13"),
145 ZYDIS_MAKE_SHORTSTRING("ymm14"),
146 ZYDIS_MAKE_SHORTSTRING("ymm15"),
147 ZYDIS_MAKE_SHORTSTRING("ymm16"),
148 ZYDIS_MAKE_SHORTSTRING("ymm17"),
149 ZYDIS_MAKE_SHORTSTRING("ymm18"),
150 ZYDIS_MAKE_SHORTSTRING("ymm19"),
151 ZYDIS_MAKE_SHORTSTRING("ymm20"),
152 ZYDIS_MAKE_SHORTSTRING("ymm21"),
153 ZYDIS_MAKE_SHORTSTRING("ymm22"),
154 ZYDIS_MAKE_SHORTSTRING("ymm23"),
155 ZYDIS_MAKE_SHORTSTRING("ymm24"),
156 ZYDIS_MAKE_SHORTSTRING("ymm25"),
157 ZYDIS_MAKE_SHORTSTRING("ymm26"),
158 ZYDIS_MAKE_SHORTSTRING("ymm27"),
159 ZYDIS_MAKE_SHORTSTRING("ymm28"),
160 ZYDIS_MAKE_SHORTSTRING("ymm29"),
161 ZYDIS_MAKE_SHORTSTRING("ymm30"),
162 ZYDIS_MAKE_SHORTSTRING("ymm31"),
163 // Floating point vector registers 512-bit
164 ZYDIS_MAKE_SHORTSTRING("zmm0"),
165 ZYDIS_MAKE_SHORTSTRING("zmm1"),
166 ZYDIS_MAKE_SHORTSTRING("zmm2"),
167 ZYDIS_MAKE_SHORTSTRING("zmm3"),
168 ZYDIS_MAKE_SHORTSTRING("zmm4"),
169 ZYDIS_MAKE_SHORTSTRING("zmm5"),
170 ZYDIS_MAKE_SHORTSTRING("zmm6"),
171 ZYDIS_MAKE_SHORTSTRING("zmm7"),
172 ZYDIS_MAKE_SHORTSTRING("zmm8"),
173 ZYDIS_MAKE_SHORTSTRING("zmm9"),
174 ZYDIS_MAKE_SHORTSTRING("zmm10"),
175 ZYDIS_MAKE_SHORTSTRING("zmm11"),
176 ZYDIS_MAKE_SHORTSTRING("zmm12"),
177 ZYDIS_MAKE_SHORTSTRING("zmm13"),
178 ZYDIS_MAKE_SHORTSTRING("zmm14"),
179 ZYDIS_MAKE_SHORTSTRING("zmm15"),
180 ZYDIS_MAKE_SHORTSTRING("zmm16"),
181 ZYDIS_MAKE_SHORTSTRING("zmm17"),
182 ZYDIS_MAKE_SHORTSTRING("zmm18"),
183 ZYDIS_MAKE_SHORTSTRING("zmm19"),
184 ZYDIS_MAKE_SHORTSTRING("zmm20"),
185 ZYDIS_MAKE_SHORTSTRING("zmm21"),
186 ZYDIS_MAKE_SHORTSTRING("zmm22"),
187 ZYDIS_MAKE_SHORTSTRING("zmm23"),
188 ZYDIS_MAKE_SHORTSTRING("zmm24"),
189 ZYDIS_MAKE_SHORTSTRING("zmm25"),
190 ZYDIS_MAKE_SHORTSTRING("zmm26"),
191 ZYDIS_MAKE_SHORTSTRING("zmm27"),
192 ZYDIS_MAKE_SHORTSTRING("zmm28"),
193 ZYDIS_MAKE_SHORTSTRING("zmm29"),
194 ZYDIS_MAKE_SHORTSTRING("zmm30"),
195 ZYDIS_MAKE_SHORTSTRING("zmm31"),
197 ZYDIS_MAKE_SHORTSTRING("tmm0"),
198 ZYDIS_MAKE_SHORTSTRING("tmm1"),
199 ZYDIS_MAKE_SHORTSTRING("tmm2"),
200 ZYDIS_MAKE_SHORTSTRING("tmm3"),
201 ZYDIS_MAKE_SHORTSTRING("tmm4"),
202 ZYDIS_MAKE_SHORTSTRING("tmm5"),
203 ZYDIS_MAKE_SHORTSTRING("tmm6"),
204 ZYDIS_MAKE_SHORTSTRING("tmm7"),
206 ZYDIS_MAKE_SHORTSTRING("flags"),
207 ZYDIS_MAKE_SHORTSTRING("eflags"),
208 ZYDIS_MAKE_SHORTSTRING("rflags"),
209 // Instruction-pointer registers
210 ZYDIS_MAKE_SHORTSTRING("ip"),
211 ZYDIS_MAKE_SHORTSTRING("eip"),
212 ZYDIS_MAKE_SHORTSTRING("rip"),
214 ZYDIS_MAKE_SHORTSTRING("es"),
215 ZYDIS_MAKE_SHORTSTRING("cs"),
216 ZYDIS_MAKE_SHORTSTRING("ss"),
217 ZYDIS_MAKE_SHORTSTRING("ds"),
218 ZYDIS_MAKE_SHORTSTRING("fs"),
219 ZYDIS_MAKE_SHORTSTRING("gs"),
221 ZYDIS_MAKE_SHORTSTRING("gdtr"),
222 ZYDIS_MAKE_SHORTSTRING("ldtr"),
223 ZYDIS_MAKE_SHORTSTRING("idtr"),
224 ZYDIS_MAKE_SHORTSTRING("tr"),
226 ZYDIS_MAKE_SHORTSTRING("tr0"),
227 ZYDIS_MAKE_SHORTSTRING("tr1"),
228 ZYDIS_MAKE_SHORTSTRING("tr2"),
229 ZYDIS_MAKE_SHORTSTRING("tr3"),
230 ZYDIS_MAKE_SHORTSTRING("tr4"),
231 ZYDIS_MAKE_SHORTSTRING("tr5"),
232 ZYDIS_MAKE_SHORTSTRING("tr6"),
233 ZYDIS_MAKE_SHORTSTRING("tr7"),
235 ZYDIS_MAKE_SHORTSTRING("cr0"),
236 ZYDIS_MAKE_SHORTSTRING("cr1"),
237 ZYDIS_MAKE_SHORTSTRING("cr2"),
238 ZYDIS_MAKE_SHORTSTRING("cr3"),
239 ZYDIS_MAKE_SHORTSTRING("cr4"),
240 ZYDIS_MAKE_SHORTSTRING("cr5"),
241 ZYDIS_MAKE_SHORTSTRING("cr6"),
242 ZYDIS_MAKE_SHORTSTRING("cr7"),
243 ZYDIS_MAKE_SHORTSTRING("cr8"),
244 ZYDIS_MAKE_SHORTSTRING("cr9"),
245 ZYDIS_MAKE_SHORTSTRING("cr10"),
246 ZYDIS_MAKE_SHORTSTRING("cr11"),
247 ZYDIS_MAKE_SHORTSTRING("cr12"),
248 ZYDIS_MAKE_SHORTSTRING("cr13"),
249 ZYDIS_MAKE_SHORTSTRING("cr14"),
250 ZYDIS_MAKE_SHORTSTRING("cr15"),
252 ZYDIS_MAKE_SHORTSTRING("dr0"),
253 ZYDIS_MAKE_SHORTSTRING("dr1"),
254 ZYDIS_MAKE_SHORTSTRING("dr2"),
255 ZYDIS_MAKE_SHORTSTRING("dr3"),
256 ZYDIS_MAKE_SHORTSTRING("dr4"),
257 ZYDIS_MAKE_SHORTSTRING("dr5"),
258 ZYDIS_MAKE_SHORTSTRING("dr6"),
259 ZYDIS_MAKE_SHORTSTRING("dr7"),
260 ZYDIS_MAKE_SHORTSTRING("dr8"),
261 ZYDIS_MAKE_SHORTSTRING("dr9"),
262 ZYDIS_MAKE_SHORTSTRING("dr10"),
263 ZYDIS_MAKE_SHORTSTRING("dr11"),
264 ZYDIS_MAKE_SHORTSTRING("dr12"),
265 ZYDIS_MAKE_SHORTSTRING("dr13"),
266 ZYDIS_MAKE_SHORTSTRING("dr14"),
267 ZYDIS_MAKE_SHORTSTRING("dr15"),
269 ZYDIS_MAKE_SHORTSTRING("k0"),
270 ZYDIS_MAKE_SHORTSTRING("k1"),
271 ZYDIS_MAKE_SHORTSTRING("k2"),
272 ZYDIS_MAKE_SHORTSTRING("k3"),
273 ZYDIS_MAKE_SHORTSTRING("k4"),
274 ZYDIS_MAKE_SHORTSTRING("k5"),
275 ZYDIS_MAKE_SHORTSTRING("k6"),
276 ZYDIS_MAKE_SHORTSTRING("k7"),
278 ZYDIS_MAKE_SHORTSTRING("bnd0"),
279 ZYDIS_MAKE_SHORTSTRING("bnd1"),
280 ZYDIS_MAKE_SHORTSTRING("bnd2"),
281 ZYDIS_MAKE_SHORTSTRING("bnd3"),
282 ZYDIS_MAKE_SHORTSTRING("bndcfg"),
283 ZYDIS_MAKE_SHORTSTRING("bndstatus"),
285 ZYDIS_MAKE_SHORTSTRING("mxcsr"),
286 ZYDIS_MAKE_SHORTSTRING("pkru"),
287 ZYDIS_MAKE_SHORTSTRING("xcr0"),
288 ZYDIS_MAKE_SHORTSTRING("uif")