crabstone 4.0.4 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES.md +6 -0
- data/README.md +24 -8
- data/lib/crabstone/arch/3/constants.rb +86 -0
- data/lib/crabstone/arch/4/constants.rb +116 -0
- data/lib/crabstone/arch/5/arm.rb +111 -0
- data/lib/crabstone/arch/5/arm64.rb +131 -0
- data/lib/crabstone/arch/5/arm64_const.rb +3015 -0
- data/lib/crabstone/arch/5/arm_const.rb +840 -0
- data/lib/crabstone/arch/5/bpf.rb +81 -0
- data/lib/crabstone/arch/5/bpf_const.rb +124 -0
- data/lib/crabstone/arch/5/constants.rb +155 -0
- data/lib/crabstone/arch/5/evm.rb +20 -0
- data/lib/crabstone/arch/5/evm_const.rb +161 -0
- data/lib/crabstone/arch/5/m680x.rb +106 -0
- data/lib/crabstone/arch/5/m680x_const.rb +426 -0
- data/lib/crabstone/arch/5/m68k.rb +129 -0
- data/lib/crabstone/arch/5/m68k_const.rb +496 -0
- data/lib/crabstone/arch/5/mips.rb +57 -0
- data/lib/crabstone/arch/5/mips_const.rb +869 -0
- data/lib/crabstone/arch/5/mos65xx.rb +52 -0
- data/lib/crabstone/arch/5/mos65xx_const.rb +162 -0
- data/lib/crabstone/arch/5/ppc.rb +69 -0
- data/lib/crabstone/arch/5/ppc_const.rb +2024 -0
- data/lib/crabstone/arch/5/riscv.rb +58 -0
- data/lib/crabstone/arch/5/riscv_const.rb +455 -0
- data/lib/crabstone/arch/5/sh.rb +72 -0
- data/lib/crabstone/arch/5/sh_const.rb +376 -0
- data/lib/crabstone/arch/5/sparc.rb +60 -0
- data/lib/crabstone/arch/5/sparc_const.rb +439 -0
- data/lib/crabstone/arch/5/sysz.rb +60 -0
- data/lib/crabstone/arch/5/sysz_const.rb +2532 -0
- data/lib/crabstone/arch/5/tms320c64x.rb +87 -0
- data/lib/crabstone/arch/5/tms320c64x_const.rb +287 -0
- data/lib/crabstone/arch/5/tricore.rb +59 -0
- data/lib/crabstone/arch/5/tricore_const.rb +488 -0
- data/lib/crabstone/arch/5/wasm.rb +81 -0
- data/lib/crabstone/arch/5/wasm_const.rb +201 -0
- data/lib/crabstone/arch/5/x86.rb +98 -0
- data/lib/crabstone/arch/5/x86_const.rb +1999 -0
- data/lib/crabstone/arch/5/xcore.rb +59 -0
- data/lib/crabstone/arch/5/xcore_const.rb +171 -0
- data/lib/crabstone/arch/extension.rb +2 -1
- data/lib/crabstone/arch/register.rb +1 -1
- data/lib/crabstone/arch.rb +6 -0
- data/lib/crabstone/binding/5/detail.rb +47 -0
- data/lib/crabstone/binding/5/instruction.rb +23 -0
- data/lib/crabstone/binding.rb +2 -2
- data/lib/crabstone/constants.rb +2 -107
- data/lib/crabstone/cs_version.rb +2 -3
- data/lib/crabstone/disassembler.rb +2 -3
- data/lib/crabstone/instruction.rb +0 -1
- data/lib/crabstone/version.rb +1 -1
- metadata +45 -4
@@ -0,0 +1,488 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# THIS FILE WAS AUTO-GENERATED -- DO NOT EDIT!
|
4
|
+
|
5
|
+
require 'crabstone/arch/register'
|
6
|
+
|
7
|
+
module Crabstone
|
8
|
+
module TRICORE
|
9
|
+
OP_INVALID = Crabstone::OP_INVALID
|
10
|
+
OP_REG = Crabstone::OP_REG
|
11
|
+
OP_IMM = Crabstone::OP_IMM
|
12
|
+
OP_MEM = Crabstone::OP_MEM
|
13
|
+
|
14
|
+
REG_INVALID = 0
|
15
|
+
REG_FCX = 1
|
16
|
+
REG_PC = 2
|
17
|
+
REG_PCXI = 3
|
18
|
+
REG_PSW = 4
|
19
|
+
REG_A0 = 5
|
20
|
+
REG_A1 = 6
|
21
|
+
REG_A2 = 7
|
22
|
+
REG_A3 = 8
|
23
|
+
REG_A4 = 9
|
24
|
+
REG_A5 = 10
|
25
|
+
REG_A6 = 11
|
26
|
+
REG_A7 = 12
|
27
|
+
REG_A8 = 13
|
28
|
+
REG_A9 = 14
|
29
|
+
REG_A10 = 15
|
30
|
+
REG_A11 = 16
|
31
|
+
REG_A12 = 17
|
32
|
+
REG_A13 = 18
|
33
|
+
REG_A14 = 19
|
34
|
+
REG_A15 = 20
|
35
|
+
REG_D0 = 21
|
36
|
+
REG_D1 = 22
|
37
|
+
REG_D2 = 23
|
38
|
+
REG_D3 = 24
|
39
|
+
REG_D4 = 25
|
40
|
+
REG_D5 = 26
|
41
|
+
REG_D6 = 27
|
42
|
+
REG_D7 = 28
|
43
|
+
REG_D8 = 29
|
44
|
+
REG_D9 = 30
|
45
|
+
REG_D10 = 31
|
46
|
+
REG_D11 = 32
|
47
|
+
REG_D12 = 33
|
48
|
+
REG_D13 = 34
|
49
|
+
REG_D14 = 35
|
50
|
+
REG_D15 = 36
|
51
|
+
REG_E0 = 37
|
52
|
+
REG_E2 = 38
|
53
|
+
REG_E4 = 39
|
54
|
+
REG_E6 = 40
|
55
|
+
REG_E8 = 41
|
56
|
+
REG_E10 = 42
|
57
|
+
REG_E12 = 43
|
58
|
+
REG_E14 = 44
|
59
|
+
REG_P0 = 45
|
60
|
+
REG_P2 = 46
|
61
|
+
REG_P4 = 47
|
62
|
+
REG_P6 = 48
|
63
|
+
REG_P8 = 49
|
64
|
+
REG_P10 = 50
|
65
|
+
REG_P12 = 51
|
66
|
+
REG_P14 = 52
|
67
|
+
REG_A0_A1 = 53
|
68
|
+
REG_A2_A3 = 54
|
69
|
+
REG_A4_A5 = 55
|
70
|
+
REG_A6_A7 = 56
|
71
|
+
REG_A8_A9 = 57
|
72
|
+
REG_A10_A11 = 58
|
73
|
+
REG_A12_A13 = 59
|
74
|
+
REG_A14_A15 = 60
|
75
|
+
REG_ENDING = 61
|
76
|
+
|
77
|
+
INS_INVALID = 0
|
78
|
+
INS_XOR_T = 1
|
79
|
+
INS_ABSDIFS_B = 2
|
80
|
+
INS_ABSDIFS_H = 3
|
81
|
+
INS_ABSDIFS = 4
|
82
|
+
INS_ABSDIF_B = 5
|
83
|
+
INS_ABSDIF_H = 6
|
84
|
+
INS_ABSDIF = 7
|
85
|
+
INS_ABSS_B = 8
|
86
|
+
INS_ABSS_H = 9
|
87
|
+
INS_ABSS = 10
|
88
|
+
INS_ABS_B = 11
|
89
|
+
INS_ABS_H = 12
|
90
|
+
INS_ABS = 13
|
91
|
+
INS_ADDC = 14
|
92
|
+
INS_ADDIH_A = 15
|
93
|
+
INS_ADDIH = 16
|
94
|
+
INS_ADDI = 17
|
95
|
+
INS_ADDSC_AT = 18
|
96
|
+
INS_ADDSC_A = 19
|
97
|
+
INS_ADDS_BU = 20
|
98
|
+
INS_ADDS_B = 21
|
99
|
+
INS_ADDS_H = 22
|
100
|
+
INS_ADDS_HU = 23
|
101
|
+
INS_ADDS_U = 24
|
102
|
+
INS_ADDS = 25
|
103
|
+
INS_ADDX = 26
|
104
|
+
INS_ADD_A = 27
|
105
|
+
INS_ADD_B = 28
|
106
|
+
INS_ADD_F = 29
|
107
|
+
INS_ADD_H = 30
|
108
|
+
INS_ADD = 31
|
109
|
+
INS_ANDN_T = 32
|
110
|
+
INS_ANDN = 33
|
111
|
+
INS_AND_ANDN_T = 34
|
112
|
+
INS_AND_AND_T = 35
|
113
|
+
INS_AND_EQ = 36
|
114
|
+
INS_AND_GE_U = 37
|
115
|
+
INS_AND_GE = 38
|
116
|
+
INS_AND_LT_U = 39
|
117
|
+
INS_AND_LT = 40
|
118
|
+
INS_AND_NE = 41
|
119
|
+
INS_AND_NOR_T = 42
|
120
|
+
INS_AND_OR_T = 43
|
121
|
+
INS_AND_T = 44
|
122
|
+
INS_AND = 45
|
123
|
+
INS_BISR = 46
|
124
|
+
INS_BMERGE = 47
|
125
|
+
INS_BSPLIT = 48
|
126
|
+
INS_CACHEA_I = 49
|
127
|
+
INS_CACHEA_WI = 50
|
128
|
+
INS_CACHEA_W = 51
|
129
|
+
INS_CACHEI_I = 52
|
130
|
+
INS_CACHEI_WI = 53
|
131
|
+
INS_CACHEI_W = 54
|
132
|
+
INS_CADDN_A = 55
|
133
|
+
INS_CADDN = 56
|
134
|
+
INS_CADD_A = 57
|
135
|
+
INS_CADD = 58
|
136
|
+
INS_CALLA = 59
|
137
|
+
INS_CALLI = 60
|
138
|
+
INS_CALL = 61
|
139
|
+
INS_CLO_B = 62
|
140
|
+
INS_CLO_H = 63
|
141
|
+
INS_CLO = 64
|
142
|
+
INS_CLS_B = 65
|
143
|
+
INS_CLS_H = 66
|
144
|
+
INS_CLS = 67
|
145
|
+
INS_CLZ_B = 68
|
146
|
+
INS_CLZ_H = 69
|
147
|
+
INS_CLZ = 70
|
148
|
+
INS_CMOVN = 71
|
149
|
+
INS_CMOV = 72
|
150
|
+
INS_CMPSWAP_W = 73
|
151
|
+
INS_CMP_F = 74
|
152
|
+
INS_CRC32B_W = 75
|
153
|
+
INS_CRC32L_W = 76
|
154
|
+
INS_CRC32_B = 77
|
155
|
+
INS_CRCN = 78
|
156
|
+
INS_CSUBN_A = 79
|
157
|
+
INS_CSUBN = 80
|
158
|
+
INS_CSUB_A = 81
|
159
|
+
INS_CSUB = 82
|
160
|
+
INS_DEBUG = 83
|
161
|
+
INS_DEXTR = 84
|
162
|
+
INS_DIFSC_A = 85
|
163
|
+
INS_DISABLE = 86
|
164
|
+
INS_DIV_F = 87
|
165
|
+
INS_DIV_U = 88
|
166
|
+
INS_DIV = 89
|
167
|
+
INS_DSYNC = 90
|
168
|
+
INS_DVADJ = 91
|
169
|
+
INS_DVINIT_BU = 92
|
170
|
+
INS_DVINIT_B = 93
|
171
|
+
INS_DVINIT_HU = 94
|
172
|
+
INS_DVINIT_H = 95
|
173
|
+
INS_DVINIT_U = 96
|
174
|
+
INS_DVINIT = 97
|
175
|
+
INS_DVSTEP_U = 98
|
176
|
+
INS_DVSTEP = 99
|
177
|
+
INS_ENABLE = 100
|
178
|
+
INS_EQANY_B = 101
|
179
|
+
INS_EQANY_H = 102
|
180
|
+
INS_EQZ_A = 103
|
181
|
+
INS_EQ_A = 104
|
182
|
+
INS_EQ_B = 105
|
183
|
+
INS_EQ_H = 106
|
184
|
+
INS_EQ_W = 107
|
185
|
+
INS_EQ = 108
|
186
|
+
INS_EXTR_U = 109
|
187
|
+
INS_EXTR = 110
|
188
|
+
INS_FCALLA = 111
|
189
|
+
INS_FCALLI = 112
|
190
|
+
INS_FCALL = 113
|
191
|
+
INS_FRET = 114
|
192
|
+
INS_FTOHP = 115
|
193
|
+
INS_FTOIZ = 116
|
194
|
+
INS_FTOI = 117
|
195
|
+
INS_FTOQ31Z = 118
|
196
|
+
INS_FTOQ31 = 119
|
197
|
+
INS_FTOUZ = 120
|
198
|
+
INS_FTOU = 121
|
199
|
+
INS_GE_A = 122
|
200
|
+
INS_GE_U = 123
|
201
|
+
INS_GE = 124
|
202
|
+
INS_HPTOF = 125
|
203
|
+
INS_IMASK = 126
|
204
|
+
INS_INSERT = 127
|
205
|
+
INS_INSN_T = 128
|
206
|
+
INS_INS_T = 129
|
207
|
+
INS_ISYNC = 130
|
208
|
+
INS_ITOF = 131
|
209
|
+
INS_IXMAX_U = 132
|
210
|
+
INS_IXMAX = 133
|
211
|
+
INS_IXMIN_U = 134
|
212
|
+
INS_IXMIN = 135
|
213
|
+
INS_JA = 136
|
214
|
+
INS_JEQ_A = 137
|
215
|
+
INS_JEQ = 138
|
216
|
+
INS_JGEZ = 139
|
217
|
+
INS_JGE_U = 140
|
218
|
+
INS_JGE = 141
|
219
|
+
INS_JGTZ = 142
|
220
|
+
INS_JI = 143
|
221
|
+
INS_JLA = 144
|
222
|
+
INS_JLEZ = 145
|
223
|
+
INS_JLI = 146
|
224
|
+
INS_JLTZ = 147
|
225
|
+
INS_JLT_U = 148
|
226
|
+
INS_JLT = 149
|
227
|
+
INS_JL = 150
|
228
|
+
INS_JNED = 151
|
229
|
+
INS_JNEI = 152
|
230
|
+
INS_JNE_A = 153
|
231
|
+
INS_JNE = 154
|
232
|
+
INS_JNZ_A = 155
|
233
|
+
INS_JNZ_T = 156
|
234
|
+
INS_JNZ = 157
|
235
|
+
INS_JZ_A = 158
|
236
|
+
INS_JZ_T = 159
|
237
|
+
INS_JZ = 160
|
238
|
+
INS_J = 161
|
239
|
+
INS_LDLCX = 162
|
240
|
+
INS_LDMST = 163
|
241
|
+
INS_LDUCX = 164
|
242
|
+
INS_LD_A = 165
|
243
|
+
INS_LD_BU = 166
|
244
|
+
INS_LD_B = 167
|
245
|
+
INS_LD_DA = 168
|
246
|
+
INS_LD_D = 169
|
247
|
+
INS_LD_HU = 170
|
248
|
+
INS_LD_H = 171
|
249
|
+
INS_LD_Q = 172
|
250
|
+
INS_LD_W = 173
|
251
|
+
INS_LEA = 174
|
252
|
+
INS_LHA = 175
|
253
|
+
INS_LOOPU = 176
|
254
|
+
INS_LOOP = 177
|
255
|
+
INS_LT_A = 178
|
256
|
+
INS_LT_B = 179
|
257
|
+
INS_LT_BU = 180
|
258
|
+
INS_LT_H = 181
|
259
|
+
INS_LT_HU = 182
|
260
|
+
INS_LT_U = 183
|
261
|
+
INS_LT_W = 184
|
262
|
+
INS_LT_WU = 185
|
263
|
+
INS_LT = 186
|
264
|
+
INS_MADDMS_H = 187
|
265
|
+
INS_MADDMS_U = 188
|
266
|
+
INS_MADDMS = 189
|
267
|
+
INS_MADDM_H = 190
|
268
|
+
INS_MADDM_Q = 191
|
269
|
+
INS_MADDM_U = 192
|
270
|
+
INS_MADDM = 193
|
271
|
+
INS_MADDRS_H = 194
|
272
|
+
INS_MADDRS_Q = 195
|
273
|
+
INS_MADDR_H = 196
|
274
|
+
INS_MADDR_Q = 197
|
275
|
+
INS_MADDSUMS_H = 198
|
276
|
+
INS_MADDSUM_H = 199
|
277
|
+
INS_MADDSURS_H = 200
|
278
|
+
INS_MADDSUR_H = 201
|
279
|
+
INS_MADDSUS_H = 202
|
280
|
+
INS_MADDSU_H = 203
|
281
|
+
INS_MADDS_H = 204
|
282
|
+
INS_MADDS_Q = 205
|
283
|
+
INS_MADDS_U = 206
|
284
|
+
INS_MADDS = 207
|
285
|
+
INS_MADD_F = 208
|
286
|
+
INS_MADD_H = 209
|
287
|
+
INS_MADD_Q = 210
|
288
|
+
INS_MADD_U = 211
|
289
|
+
INS_MADD = 212
|
290
|
+
INS_MAX_B = 213
|
291
|
+
INS_MAX_BU = 214
|
292
|
+
INS_MAX_H = 215
|
293
|
+
INS_MAX_HU = 216
|
294
|
+
INS_MAX_U = 217
|
295
|
+
INS_MAX = 218
|
296
|
+
INS_MFCR = 219
|
297
|
+
INS_MIN_B = 220
|
298
|
+
INS_MIN_BU = 221
|
299
|
+
INS_MIN_H = 222
|
300
|
+
INS_MIN_HU = 223
|
301
|
+
INS_MIN_U = 224
|
302
|
+
INS_MIN = 225
|
303
|
+
INS_MOVH_A = 226
|
304
|
+
INS_MOVH = 227
|
305
|
+
INS_MOVZ_A = 228
|
306
|
+
INS_MOV_AA = 229
|
307
|
+
INS_MOV_A = 230
|
308
|
+
INS_MOV_D = 231
|
309
|
+
INS_MOV_U = 232
|
310
|
+
INS_MOV = 233
|
311
|
+
INS_MSUBADMS_H = 234
|
312
|
+
INS_MSUBADM_H = 235
|
313
|
+
INS_MSUBADRS_H = 236
|
314
|
+
INS_MSUBADR_H = 237
|
315
|
+
INS_MSUBADS_H = 238
|
316
|
+
INS_MSUBAD_H = 239
|
317
|
+
INS_MSUBMS_H = 240
|
318
|
+
INS_MSUBMS_U = 241
|
319
|
+
INS_MSUBMS = 242
|
320
|
+
INS_MSUBM_H = 243
|
321
|
+
INS_MSUBM_Q = 244
|
322
|
+
INS_MSUBM_U = 245
|
323
|
+
INS_MSUBM = 246
|
324
|
+
INS_MSUBRS_H = 247
|
325
|
+
INS_MSUBRS_Q = 248
|
326
|
+
INS_MSUBR_H = 249
|
327
|
+
INS_MSUBR_Q = 250
|
328
|
+
INS_MSUBS_H = 251
|
329
|
+
INS_MSUBS_Q = 252
|
330
|
+
INS_MSUBS_U = 253
|
331
|
+
INS_MSUBS = 254
|
332
|
+
INS_MSUB_F = 255
|
333
|
+
INS_MSUB_H = 256
|
334
|
+
INS_MSUB_Q = 257
|
335
|
+
INS_MSUB_U = 258
|
336
|
+
INS_MSUB = 259
|
337
|
+
INS_MTCR = 260
|
338
|
+
INS_MULMS_H = 261
|
339
|
+
INS_MULM_H = 262
|
340
|
+
INS_MULM_U = 263
|
341
|
+
INS_MULM = 264
|
342
|
+
INS_MULR_H = 265
|
343
|
+
INS_MULR_Q = 266
|
344
|
+
INS_MULS_U = 267
|
345
|
+
INS_MULS = 268
|
346
|
+
INS_MUL_F = 269
|
347
|
+
INS_MUL_H = 270
|
348
|
+
INS_MUL_Q = 271
|
349
|
+
INS_MUL_U = 272
|
350
|
+
INS_MUL = 273
|
351
|
+
INS_NAND_T = 274
|
352
|
+
INS_NAND = 275
|
353
|
+
INS_NEZ_A = 276
|
354
|
+
INS_NE_A = 277
|
355
|
+
INS_NE = 278
|
356
|
+
INS_NOP = 279
|
357
|
+
INS_NOR_T = 280
|
358
|
+
INS_NOR = 281
|
359
|
+
INS_NOT = 282
|
360
|
+
INS_ORN_T = 283
|
361
|
+
INS_ORN = 284
|
362
|
+
INS_OR_ANDN_T = 285
|
363
|
+
INS_OR_AND_T = 286
|
364
|
+
INS_OR_EQ = 287
|
365
|
+
INS_OR_GE_U = 288
|
366
|
+
INS_OR_GE = 289
|
367
|
+
INS_OR_LT_U = 290
|
368
|
+
INS_OR_LT = 291
|
369
|
+
INS_OR_NE = 292
|
370
|
+
INS_OR_NOR_T = 293
|
371
|
+
INS_OR_OR_T = 294
|
372
|
+
INS_OR_T = 295
|
373
|
+
INS_OR = 296
|
374
|
+
INS_PACK = 297
|
375
|
+
INS_PARITY = 298
|
376
|
+
INS_POPCNT_W = 299
|
377
|
+
INS_Q31TOF = 300
|
378
|
+
INS_QSEED_F = 301
|
379
|
+
INS_RESTORE = 302
|
380
|
+
INS_RET = 303
|
381
|
+
INS_RFE = 304
|
382
|
+
INS_RFM = 305
|
383
|
+
INS_RSLCX = 306
|
384
|
+
INS_RSTV = 307
|
385
|
+
INS_RSUBS_U = 308
|
386
|
+
INS_RSUBS = 309
|
387
|
+
INS_RSUB = 310
|
388
|
+
INS_SAT_BU = 311
|
389
|
+
INS_SAT_B = 312
|
390
|
+
INS_SAT_HU = 313
|
391
|
+
INS_SAT_H = 314
|
392
|
+
INS_SELN_A = 315
|
393
|
+
INS_SELN = 316
|
394
|
+
INS_SEL_A = 317
|
395
|
+
INS_SEL = 318
|
396
|
+
INS_SHAS = 319
|
397
|
+
INS_SHA_B = 320
|
398
|
+
INS_SHA_H = 321
|
399
|
+
INS_SHA = 322
|
400
|
+
INS_SHUFFLE = 323
|
401
|
+
INS_SH_ANDN_T = 324
|
402
|
+
INS_SH_AND_T = 325
|
403
|
+
INS_SH_B = 326
|
404
|
+
INS_SH_EQ = 327
|
405
|
+
INS_SH_GE_U = 328
|
406
|
+
INS_SH_GE = 329
|
407
|
+
INS_SH_H = 330
|
408
|
+
INS_SH_LT_U = 331
|
409
|
+
INS_SH_LT = 332
|
410
|
+
INS_SH_NAND_T = 333
|
411
|
+
INS_SH_NE = 334
|
412
|
+
INS_SH_NOR_T = 335
|
413
|
+
INS_SH_ORN_T = 336
|
414
|
+
INS_SH_OR_T = 337
|
415
|
+
INS_SH_XNOR_T = 338
|
416
|
+
INS_SH_XOR_T = 339
|
417
|
+
INS_SH = 340
|
418
|
+
INS_STLCX = 341
|
419
|
+
INS_STUCX = 342
|
420
|
+
INS_ST_A = 343
|
421
|
+
INS_ST_B = 344
|
422
|
+
INS_ST_DA = 345
|
423
|
+
INS_ST_D = 346
|
424
|
+
INS_ST_H = 347
|
425
|
+
INS_ST_Q = 348
|
426
|
+
INS_ST_T = 349
|
427
|
+
INS_ST_W = 350
|
428
|
+
INS_SUBC = 351
|
429
|
+
INS_SUBSC_A = 352
|
430
|
+
INS_SUBS_BU = 353
|
431
|
+
INS_SUBS_B = 354
|
432
|
+
INS_SUBS_HU = 355
|
433
|
+
INS_SUBS_H = 356
|
434
|
+
INS_SUBS_U = 357
|
435
|
+
INS_SUBS = 358
|
436
|
+
INS_SUBX = 359
|
437
|
+
INS_SUB_A = 360
|
438
|
+
INS_SUB_B = 361
|
439
|
+
INS_SUB_F = 362
|
440
|
+
INS_SUB_H = 363
|
441
|
+
INS_SUB = 364
|
442
|
+
INS_SVLCX = 365
|
443
|
+
INS_SWAPMSK_W = 366
|
444
|
+
INS_SWAP_A = 367
|
445
|
+
INS_SWAP_W = 368
|
446
|
+
INS_SYSCALL = 369
|
447
|
+
INS_TLBDEMAP = 370
|
448
|
+
INS_TLBFLUSH_A = 371
|
449
|
+
INS_TLBFLUSH_B = 372
|
450
|
+
INS_TLBMAP = 373
|
451
|
+
INS_TLBPROBE_A = 374
|
452
|
+
INS_TLBPROBE_I = 375
|
453
|
+
INS_TRAPSV = 376
|
454
|
+
INS_TRAPV = 377
|
455
|
+
INS_UNPACK = 378
|
456
|
+
INS_UPDFL = 379
|
457
|
+
INS_UTOF = 380
|
458
|
+
INS_WAIT = 381
|
459
|
+
INS_XNOR_T = 382
|
460
|
+
INS_XNOR = 383
|
461
|
+
INS_XOR_EQ = 384
|
462
|
+
INS_XOR_GE_U = 385
|
463
|
+
INS_XOR_GE = 386
|
464
|
+
INS_XOR_LT_U = 387
|
465
|
+
INS_XOR_LT = 388
|
466
|
+
INS_XOR_NE = 389
|
467
|
+
INS_XOR = 390
|
468
|
+
INS_ENDING = 391
|
469
|
+
GRP_INVALID = 392
|
470
|
+
GRP_CALL = 393
|
471
|
+
GRP_JUMP = 394
|
472
|
+
GRP_ENDING = 395
|
473
|
+
|
474
|
+
FEATURE_INVALID = 0
|
475
|
+
FEATURE_HasV110 = 128
|
476
|
+
FEATURE_HasV120_UP = 129
|
477
|
+
FEATURE_HasV130_UP = 130
|
478
|
+
FEATURE_HasV161 = 131
|
479
|
+
FEATURE_HasV160_UP = 132
|
480
|
+
FEATURE_HasV131_UP = 133
|
481
|
+
FEATURE_HasV161_UP = 134
|
482
|
+
FEATURE_HasV162 = 135
|
483
|
+
FEATURE_HasV162_UP = 136
|
484
|
+
FEATURE_ENDING = 137
|
485
|
+
|
486
|
+
extend Register
|
487
|
+
end
|
488
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# THIS FILE WAS AUTO-GENERATED -- DO NOT EDIT!
|
4
|
+
|
5
|
+
require 'ffi'
|
6
|
+
|
7
|
+
require 'crabstone/arch/extension'
|
8
|
+
require_relative 'wasm_const'
|
9
|
+
|
10
|
+
module Crabstone
|
11
|
+
module WASM
|
12
|
+
class BrTable < FFI::Struct
|
13
|
+
layout(
|
14
|
+
:length, :uint,
|
15
|
+
:address, :ulong,
|
16
|
+
:default_target, :uint
|
17
|
+
)
|
18
|
+
end
|
19
|
+
|
20
|
+
class OperandValue < FFI::Union
|
21
|
+
layout(
|
22
|
+
:int7, :int8,
|
23
|
+
:varuint32, :uint,
|
24
|
+
:varuint64, :ulong,
|
25
|
+
:uint32, :uint,
|
26
|
+
:uint64, :ulong,
|
27
|
+
:immediate, [:uint, 2],
|
28
|
+
:brtable, BrTable
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
class Operand < FFI::Struct
|
33
|
+
layout(
|
34
|
+
:type, :uint,
|
35
|
+
:size, :uint,
|
36
|
+
:value, OperandValue
|
37
|
+
)
|
38
|
+
|
39
|
+
include Crabstone::Extension::Operand
|
40
|
+
|
41
|
+
def int7?
|
42
|
+
self[:type] == OP_INT7
|
43
|
+
end
|
44
|
+
|
45
|
+
def varuint32?
|
46
|
+
self[:type] == OP_VARUINT32
|
47
|
+
end
|
48
|
+
|
49
|
+
def varuint64?
|
50
|
+
self[:type] == OP_VARUINT64
|
51
|
+
end
|
52
|
+
|
53
|
+
def uint32?
|
54
|
+
[
|
55
|
+
OP_VARUINT32,
|
56
|
+
OP_UINT32
|
57
|
+
].include?(self[:type])
|
58
|
+
end
|
59
|
+
|
60
|
+
def uint64?
|
61
|
+
[
|
62
|
+
OP_VARUINT64,
|
63
|
+
OP_UINT64
|
64
|
+
].include?(self[:type])
|
65
|
+
end
|
66
|
+
|
67
|
+
def brtable?
|
68
|
+
self[:type] == OP_BRTABLE
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
class Instruction < FFI::Struct
|
73
|
+
layout(
|
74
|
+
:op_count, :uint8,
|
75
|
+
:operands, [Operand, 2]
|
76
|
+
)
|
77
|
+
|
78
|
+
include Crabstone::Extension::Instruction
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|