Module: Crabstone::MIPS

Extended by:
Register
Defined in:
lib/crabstone/arch/3/mips.rb,
lib/crabstone/arch/4/mips.rb,
lib/crabstone/arch/5/mips.rb,
lib/crabstone/arch/3/mips_const.rb,
lib/crabstone/arch/4/mips_const.rb,
lib/crabstone/arch/5/mips_const.rb

Defined Under Namespace

Classes: Instruction, Operand, OperandMemory, OperandValue

Constant Summary collapse

OP_INVALID =
0
OP_REG =
1
OP_IMM =
2
OP_MEM =
3
REG_INVALID =
0
REG_0 =
2
REG_1 =
3
REG_2 =
4
REG_3 =
5
REG_4 =
6
REG_5 =
7
REG_6 =
8
REG_7 =
9
REG_8 =
10
REG_9 =
11
REG_10 =
12
REG_11 =
13
REG_12 =
14
REG_13 =
15
REG_14 =
16
REG_15 =
17
REG_16 =
18
REG_17 =
19
REG_18 =
20
REG_19 =
21
REG_20 =
22
REG_21 =
23
REG_22 =
24
REG_23 =
25
REG_24 =
26
REG_25 =
27
REG_26 =
28
REG_27 =
29
REG_28 =
30
REG_29 =
31
REG_30 =
32
REG_31 =
33
REG_DSPCCOND =
34
REG_DSPCARRY =
35
REG_DSPEFI =
36
REG_DSPOUTFLAG =
37
REG_DSPOUTFLAG16_19 =
38
REG_DSPOUTFLAG20 =
39
REG_DSPOUTFLAG21 =
40
REG_DSPOUTFLAG22 =
41
REG_DSPOUTFLAG23 =
42
REG_DSPPOS =
43
REG_DSPSCOUNT =
44
REG_AC0 =
45
REG_AC1 =
46
REG_AC2 =
47
REG_AC3 =
48
REG_CC0 =
49
REG_CC1 =
50
REG_CC2 =
51
REG_CC3 =
52
REG_CC4 =
53
REG_CC5 =
54
REG_CC6 =
55
REG_CC7 =
56
REG_F0 =
57
REG_F1 =
58
REG_F2 =
59
REG_F3 =
60
REG_F4 =
61
REG_F5 =
62
REG_F6 =
63
REG_F7 =
64
REG_F8 =
65
REG_F9 =
66
REG_F10 =
67
REG_F11 =
68
REG_F12 =
69
REG_F13 =
70
REG_F14 =
71
REG_F15 =
72
REG_F16 =
73
REG_F17 =
74
REG_F18 =
75
REG_F19 =
76
REG_F20 =
77
REG_F21 =
78
REG_F22 =
79
REG_F23 =
80
REG_F24 =
81
REG_F25 =
82
REG_F26 =
83
REG_F27 =
84
REG_F28 =
85
REG_F29 =
86
REG_F30 =
87
REG_F31 =
88
REG_FCC0 =
89
REG_FCC1 =
90
REG_FCC2 =
91
REG_FCC3 =
92
REG_FCC4 =
93
REG_FCC5 =
94
REG_FCC6 =
95
REG_FCC7 =
96
REG_W0 =
97
REG_W1 =
98
REG_W2 =
99
REG_W3 =
100
REG_W4 =
101
REG_W5 =
102
REG_W6 =
103
REG_W7 =
104
REG_W8 =
105
REG_W9 =
106
REG_W10 =
107
REG_W11 =
108
REG_W12 =
109
REG_W13 =
110
REG_W14 =
111
REG_W15 =
112
REG_W16 =
113
REG_W17 =
114
REG_W18 =
115
REG_W19 =
116
REG_W20 =
117
REG_W21 =
118
REG_W22 =
119
REG_W23 =
120
REG_W24 =
121
REG_W25 =
122
REG_W26 =
123
REG_W27 =
124
REG_W28 =
125
REG_W29 =
126
REG_W30 =
127
REG_W31 =
128
REG_HI =
129
REG_LO =
130
REG_P0 =
131
REG_P1 =
132
REG_P2 =
133
REG_MPL0 =
134
REG_MPL1 =
135
REG_MPL2 =
136
REG_ENDING =
137
REG_ZERO =
REG_0
REG_AT =
REG_1
REG_V0 =
REG_2
REG_V1 =
REG_3
REG_A0 =
REG_4
REG_A1 =
REG_5
REG_A2 =
REG_6
REG_A3 =
REG_7
REG_T0 =
REG_8
REG_T1 =
REG_9
REG_T2 =
REG_10
REG_T3 =
REG_11
REG_T4 =
REG_12
REG_T5 =
REG_13
REG_T6 =
REG_14
REG_T7 =
REG_15
REG_S0 =
REG_16
REG_S1 =
REG_17
REG_S2 =
REG_18
REG_S3 =
REG_19
REG_S4 =
REG_20
REG_S5 =
REG_21
REG_S6 =
REG_22
REG_S7 =
REG_23
REG_T8 =
REG_24
REG_T9 =
REG_25
REG_K0 =
REG_26
REG_K1 =
REG_27
REG_GP =
REG_28
REG_SP =
REG_29
REG_FP =
REG_30
REG_S8 =
REG_30
REG_RA =
REG_31
REG_HI0 =
REG_AC0
REG_HI1 =
REG_AC1
REG_HI2 =
REG_AC2
REG_HI3 =
REG_AC3
REG_LO0 =
REG_HI0
REG_LO1 =
REG_HI1
REG_LO2 =
REG_HI2
REG_LO3 =
REG_HI3
INS_INVALID =
0
INS_ABSQ_S =
1
INS_ADD =
2
INS_ADDIUPC =
3
INS_ADDQH =
8
INS_ADDQH_R =
9
INS_ADDQ =
10
INS_ADDQ_S =
11
INS_ADDSC =
12
INS_ADDS_A =
13
INS_ADDS_S =
14
INS_ADDS_U =
15
INS_ADDUH =
17
INS_ADDUH_R =
18
INS_ADDU =
19
INS_ADDU_S =
20
INS_ADDVI =
21
INS_ADDV =
22
INS_ADDWC =
23
INS_ADD_A =
24
INS_ADDI =
25
INS_ADDIU =
26
INS_ALIGN =
27
INS_ALUIPC =
28
INS_AND =
29
INS_ANDI =
32
INS_APPEND =
33
INS_ASUB_S =
34
INS_ASUB_U =
35
INS_AUI =
36
INS_AUIPC =
37
INS_AVER_S =
38
INS_AVER_U =
39
INS_AVE_S =
40
INS_AVE_U =
41
INS_BADDU =
43
INS_BAL =
44
INS_BALC =
45
INS_BALIGN =
46
INS_BC =
51
INS_BC0F =
52
INS_BC0FL =
53
INS_BC0T =
54
INS_BC0TL =
55
INS_BC1EQZ =
56
INS_BC1F =
57
INS_BC1FL =
58
INS_BC1NEZ =
59
INS_BC1T =
60
INS_BC1TL =
61
INS_BC2EQZ =
62
INS_BC2F =
63
INS_BC2FL =
64
INS_BC2NEZ =
65
INS_BC2T =
66
INS_BC2TL =
67
INS_BC3F =
68
INS_BC3FL =
69
INS_BC3T =
70
INS_BC3TL =
71
INS_BCLRI =
72
INS_BCLR =
73
INS_BEQ =
74
INS_BEQC =
75
INS_BEQL =
76
INS_BEQZALC =
78
INS_BEQZC =
79
INS_BGEC =
80
INS_BGEUC =
81
INS_BGEZ =
82
INS_BGEZAL =
83
INS_BGEZALC =
84
INS_BGEZALL =
85
INS_BGEZALS =
86
INS_BGEZC =
87
INS_BGEZL =
88
INS_BGTZ =
89
INS_BGTZALC =
90
INS_BGTZC =
91
INS_BGTZL =
92
INS_BINSLI =
93
INS_BINSL =
94
INS_BINSRI =
95
INS_BINSR =
96
INS_BITREV =
97
INS_BITSWAP =
98
INS_BLEZ =
99
INS_BLEZALC =
100
INS_BLEZC =
101
INS_BLEZL =
102
INS_BLTC =
103
INS_BLTUC =
104
INS_BLTZ =
105
INS_BLTZAL =
106
INS_BLTZALC =
107
INS_BLTZALL =
108
INS_BLTZALS =
109
INS_BLTZC =
110
INS_BLTZL =
111
INS_BMNZI =
112
INS_BMNZ =
113
INS_BMZI =
114
INS_BMZ =
115
INS_BNE =
116
INS_BNEC =
117
INS_BNEGI =
118
INS_BNEG =
119
INS_BNEL =
120
INS_BNEZALC =
122
INS_BNEZC =
123
INS_BNVC =
124
INS_BNZ =
125
INS_BOVC =
126
INS_BPOSGE32 =
127
INS_BREAK =
128
INS_BSELI =
130
INS_BSEL =
131
INS_BSETI =
132
INS_BSET =
133
INS_BZ =
134
INS_BEQZ =
135
INS_B =
136
INS_BNEZ =
137
INS_BTEQZ =
138
INS_BTNEZ =
139
INS_CACHE =
140
INS_CEIL =
141
INS_CEQI =
142
INS_CEQ =
143
INS_CFC1 =
144
INS_CFCMSA =
145
INS_CINS =
146
INS_CINS32 =
147
INS_CLASS =
148
INS_CLEI_S =
149
INS_CLEI_U =
150
INS_CLE_S =
151
INS_CLE_U =
152
INS_CLO =
153
INS_CLTI_S =
154
INS_CLTI_U =
155
INS_CLT_S =
156
INS_CLT_U =
157
INS_CLZ =
158
INS_CMPGDU =
159
INS_CMPGU =
160
INS_CMPU =
161
INS_CMP =
162
INS_COPY_S =
163
INS_COPY_U =
164
INS_CTC1 =
165
INS_CTCMSA =
166
INS_CVT =
167
INS_C =
168
INS_CMPI =
169
INS_DADD =
170
INS_DADDI =
171
INS_DADDIU =
172
INS_DADDU =
173
INS_DAHI =
174
INS_DALIGN =
175
INS_DATI =
176
INS_DAUI =
177
INS_DBITSWAP =
178
INS_DCLO =
179
INS_DCLZ =
180
INS_DDIV =
181
INS_DDIVU =
182
INS_DERET =
183
INS_DEXT =
184
INS_DEXTM =
185
INS_DEXTU =
186
INS_DI =
187
INS_DINS =
188
INS_DINSM =
189
INS_DINSU =
190
INS_DIV =
191
INS_DIVU =
192
INS_DIV_S =
193
INS_DIV_U =
194
INS_DLSA =
195
INS_DMFC0 =
196
INS_DMFC1 =
197
INS_DMFC2 =
198
INS_DMOD =
199
INS_DMODU =
200
INS_DMTC0 =
201
INS_DMTC1 =
202
INS_DMTC2 =
203
INS_DMUH =
204
INS_DMUHU =
205
INS_DMUL =
206
INS_DMULT =
207
INS_DMULTU =
208
INS_DMULU =
209
INS_DOTP_S =
210
INS_DOTP_U =
211
INS_DPADD_S =
212
INS_DPADD_U =
213
INS_DPAQX_SA =
214
INS_DPAQX_S =
215
INS_DPAQ_SA =
216
INS_DPAQ_S =
217
INS_DPAU =
218
INS_DPAX =
219
INS_DPA =
220
INS_DPOP =
221
INS_DPSQX_SA =
222
INS_DPSQX_S =
223
INS_DPSQ_SA =
224
INS_DPSQ_S =
225
INS_DPSUB_S =
226
INS_DPSUB_U =
227
INS_DPSU =
228
INS_DPSX =
229
INS_DPS =
230
INS_DROTR =
231
INS_DROTR32 =
232
INS_DROTRV =
233
INS_DSBH =
234
INS_DSHD =
235
INS_DSLL =
236
INS_DSLL32 =
237
INS_DSLLV =
238
INS_DSRA =
239
INS_DSRA32 =
240
INS_DSRAV =
241
INS_DSRL =
242
INS_DSRL32 =
243
INS_DSRLV =
244
INS_DSUB =
245
INS_DSUBU =
246
INS_EHB =
247
INS_EI =
248
INS_ERET =
249
INS_EXT =
250
INS_EXTP =
251
INS_EXTPDP =
252
INS_EXTPDPV =
253
INS_EXTPV =
254
INS_EXTRV_RS =
255
INS_EXTRV_R =
256
INS_EXTRV_S =
257
INS_EXTRV =
258
INS_EXTR_RS =
259
INS_EXTR_R =
260
INS_EXTR_S =
261
INS_EXTR =
262
INS_EXTS =
263
INS_EXTS32 =
264
INS_ABS =
265
INS_FADD =
266
INS_FCAF =
267
INS_FCEQ =
268
INS_FCLASS =
269
INS_FCLE =
270
INS_FCLT =
271
INS_FCNE =
272
INS_FCOR =
273
INS_FCUEQ =
274
INS_FCULE =
275
INS_FCULT =
276
INS_FCUNE =
277
INS_FCUN =
278
INS_FDIV =
279
INS_FEXDO =
280
INS_FEXP2 =
281
INS_FEXUPL =
282
INS_FEXUPR =
283
INS_FFINT_S =
284
INS_FFINT_U =
285
INS_FFQL =
286
INS_FFQR =
287
INS_FILL =
288
INS_FLOG2 =
289
INS_FLOOR =
290
INS_FMADD =
291
INS_FMAX_A =
292
INS_FMAX =
293
INS_FMIN_A =
294
INS_FMIN =
295
INS_MOV =
296
INS_FMSUB =
297
INS_FMUL =
298
INS_MUL =
299
INS_NEG =
300
INS_FRCP =
301
INS_FRINT =
302
INS_FRSQRT =
303
INS_FSAF =
304
INS_FSEQ =
305
INS_FSLE =
306
INS_FSLT =
307
INS_FSNE =
308
INS_FSOR =
309
INS_FSQRT =
310
INS_SQRT =
311
INS_FSUB =
312
INS_SUB =
313
INS_FSUEQ =
314
INS_FSULE =
315
INS_FSULT =
316
INS_FSUNE =
317
INS_FSUN =
318
INS_FTINT_S =
319
INS_FTINT_U =
320
INS_FTQ =
321
INS_FTRUNC_S =
322
INS_FTRUNC_U =
323
INS_HADD_S =
324
INS_HADD_U =
325
INS_HSUB_S =
326
INS_HSUB_U =
327
INS_ILVEV =
328
INS_ILVL =
329
INS_ILVOD =
330
INS_ILVR =
331
INS_INS =
332
INS_INSERT =
333
INS_INSV =
334
INS_INSVE =
335
INS_J =
336
INS_JAL =
337
INS_JALR =
338
INS_JALRS =
340
INS_JALS =
341
INS_JALX =
342
INS_JIALC =
343
INS_JIC =
344
INS_JR =
345
INS_JRADDIUSP =
347
INS_JRC =
348
INS_JALRC =
349
INS_LB =
350
INS_LBUX =
352
INS_LBU =
353
INS_LD =
354
INS_LDC1 =
355
INS_LDC2 =
356
INS_LDC3 =
357
INS_LDI =
358
INS_LDL =
359
INS_LDPC =
360
INS_LDR =
361
INS_LDXC1 =
362
INS_LH =
363
INS_LHX =
365
INS_LHU =
366
INS_LL =
368
INS_LLD =
369
INS_LSA =
370
INS_LUXC1 =
371
INS_LUI =
372
INS_LW =
373
INS_LWC1 =
375
INS_LWC2 =
376
INS_LWC3 =
377
INS_LWL =
378
INS_LWPC =
381
INS_LWR =
383
INS_LWUPC =
384
INS_LWU =
385
INS_LWX =
386
INS_LWXC1 =
387
INS_LI =
389
INS_MADD =
390
INS_MADDF =
391
INS_MADDR_Q =
392
INS_MADDU =
393
INS_MADDV =
394
INS_MADD_Q =
395
INS_MAQ_SA =
396
INS_MAQ_S =
397
INS_MAXA =
398
INS_MAXI_S =
399
INS_MAXI_U =
400
INS_MAX_A =
401
INS_MAX =
402
INS_MAX_S =
403
INS_MAX_U =
404
INS_MFC0 =
405
INS_MFC1 =
406
INS_MFC2 =
407
INS_MFHC1 =
408
INS_MFHI =
409
INS_MFLO =
410
INS_MINA =
411
INS_MINI_S =
412
INS_MINI_U =
413
INS_MIN_A =
414
INS_MIN =
415
INS_MIN_S =
416
INS_MIN_U =
417
INS_MOD =
418
INS_MODSUB =
419
INS_MODU =
420
INS_MOD_S =
421
INS_MOD_U =
422
INS_MOVE =
423
INS_MOVF =
425
INS_MOVN =
426
INS_MOVT =
427
INS_MOVZ =
428
INS_MSUB =
429
INS_MSUBF =
430
INS_MSUBR_Q =
431
INS_MSUBU =
432
INS_MSUBV =
433
INS_MSUB_Q =
434
INS_MTC0 =
435
INS_MTC1 =
436
INS_MTC2 =
437
INS_MTHC1 =
438
INS_MTHI =
439
INS_MTHLIP =
440
INS_MTLO =
441
INS_MTM0 =
442
INS_MTM1 =
443
INS_MTM2 =
444
INS_MTP0 =
445
INS_MTP1 =
446
INS_MTP2 =
447
INS_MUH =
448
INS_MUHU =
449
INS_MULEQ_S =
450
INS_MULEU_S =
451
INS_MULQ_RS =
452
INS_MULQ_S =
453
INS_MULR_Q =
454
INS_MULSAQ_S =
455
INS_MULSA =
456
INS_MULT =
457
INS_MULTU =
458
INS_MULU =
459
INS_MULV =
460
INS_MUL_Q =
461
INS_MUL_S =
462
INS_NLOC =
463
INS_NLZC =
464
INS_NMADD =
465
INS_NMSUB =
466
INS_NOR =
467
INS_NORI =
468
INS_NOT =
470
INS_OR =
471
INS_ORI =
473
INS_PACKRL =
474
INS_PAUSE =
475
INS_PCKEV =
476
INS_PCKOD =
477
INS_PCNT =
478
INS_PICK =
479
INS_POP =
480
INS_PRECEQU =
481
INS_PRECEQ =
482
INS_PRECEU =
483
INS_PRECRQU_S =
484
INS_PRECRQ =
485
INS_PRECRQ_RS =
486
INS_PRECR =
487
INS_PRECR_SRA =
488
INS_PRECR_SRA_R =
489
INS_PREF =
490
INS_PREPEND =
491
INS_RADDU =
492
INS_RDDSP =
493
INS_RDHWR =
494
INS_REPLV =
495
INS_REPL =
496
INS_RINT =
497
INS_ROTR =
498
INS_ROTRV =
499
INS_ROUND =
500
INS_SAT_S =
501
INS_SAT_U =
502
INS_SB =
503
INS_SC =
505
INS_SCD =
506
INS_SD =
507
INS_SDBBP =
508
INS_SDC1 =
510
INS_SDC2 =
511
INS_SDC3 =
512
INS_SDL =
513
INS_SDR =
514
INS_SDXC1 =
515
INS_SEB =
516
INS_SEH =
517
INS_SELEQZ =
518
INS_SELNEZ =
519
INS_SEL =
520
INS_SEQ =
521
INS_SEQI =
522
INS_SH =
523
INS_SHF =
525
INS_SHILO =
526
INS_SHILOV =
527
INS_SHLLV =
528
INS_SHLLV_S =
529
INS_SHLL =
530
INS_SHLL_S =
531
INS_SHRAV =
532
INS_SHRAV_R =
533
INS_SHRA =
534
INS_SHRA_R =
535
INS_SHRLV =
536
INS_SHRL =
537
INS_SLDI =
538
INS_SLD =
539
INS_SLL =
540
INS_SLLI =
542
INS_SLLV =
543
INS_SLT =
544
INS_SLTI =
545
INS_SLTIU =
546
INS_SLTU =
547
INS_SNE =
548
INS_SNEI =
549
INS_SPLATI =
550
INS_SPLAT =
551
INS_SRA =
552
INS_SRAI =
553
INS_SRARI =
554
INS_SRAR =
555
INS_SRAV =
556
INS_SRL =
557
INS_SRLI =
559
INS_SRLRI =
560
INS_SRLR =
561
INS_SRLV =
562
INS_SSNOP =
563
INS_ST =
564
INS_SUBQH =
565
INS_SUBQH_R =
566
INS_SUBQ =
567
INS_SUBQ_S =
568
INS_SUBSUS_U =
569
INS_SUBSUU_S =
570
INS_SUBS_S =
571
INS_SUBS_U =
572
INS_SUBUH =
574
INS_SUBUH_R =
575
INS_SUBU =
576
INS_SUBU_S =
577
INS_SUBVI =
578
INS_SUBV =
579
INS_SUXC1 =
580
INS_SW =
581
INS_SWC1 =
583
INS_SWC2 =
584
INS_SWC3 =
585
INS_SWL =
586
INS_SWR =
590
INS_SWXC1 =
591
INS_SYNC =
592
INS_SYSCALL =
594
INS_TEQ =
595
INS_TEQI =
596
INS_TGE =
597
INS_TGEI =
598
INS_TGEIU =
599
INS_TGEU =
600
INS_TLBP =
601
INS_TLBR =
602
INS_TLBWI =
603
INS_TLBWR =
604
INS_TLT =
605
INS_TLTI =
606
INS_TLTIU =
607
INS_TLTU =
608
INS_TNE =
609
INS_TNEI =
610
INS_TRUNC =
611
INS_V3MULU =
612
INS_VMM0 =
613
INS_VMULU =
614
INS_VSHF =
615
INS_WAIT =
616
INS_WRDSP =
617
INS_WSBH =
618
INS_XOR =
619
INS_XORI =
621
INS_NOP =
622
INS_NEGU =
623
INS_JALR_HB =
624
INS_JR_HB =
625
INS_ENDING =
626
GRP_INVALID =
0
GRP_JUMP =
1
GRP_BITCOUNT =
128
GRP_DSP =
129
GRP_DSPR2 =
130
GRP_FPIDX =
131
GRP_MSA =
132
GRP_MIPS32R2 =
133
GRP_MIPS64 =
134
GRP_MIPS64R2 =
135
GRP_SEINREG =
136
GRP_STDENC =
137
GRP_SWAP =
138
GRP_MICROMIPS =
139
GRP_MIPS16MODE =
140
GRP_FP64BIT =
141
GRP_NONANSFPMATH =
142
GRP_NOTFP64BIT =
143
GRP_NOTINMICROMIPS =
144
GRP_NOTNACL =
145
GRP_NOTMIPS32R6 =
146
GRP_NOTMIPS64R6 =
147
GRP_CNMIPS =
148
GRP_MIPS32 =
149
GRP_MIPS32R6 =
150
GRP_MIPS64R6 =
151
GRP_MIPS2 =
152
GRP_MIPS3 =
153
GRP_MIPS3_32 =
154
GRP_MIPS3_32R2 =
155
GRP_MIPS4_32 =
156
GRP_MIPS4_32R2 =
157
GRP_MIPS5_32R2 =
158
GRP_GP32BIT =
159
GRP_GP64BIT =
160
GRP_ENDING =
161
REG_PC =
1
INS_ADDIUR1SP =
4
INS_ADDIUR2 =
5
INS_ADDIUS5 =
6
INS_ADDIUSP =
7
INS_ADDU16 =
16
INS_AND16 =
30
INS_ANDI16 =
31
INS_B16 =
42
INS_BBIT0 =
47
INS_BBIT032 =
48
INS_BBIT1 =
49
INS_BBIT132 =
50
INS_BEQZ16 =
77
INS_BNEZ16 =
121
INS_BREAK16 =
129
INS_JALRS16 =
339
INS_JR16 =
346
INS_LBU16 =
351
INS_LHU16 =
364
INS_LI16 =
367
INS_LW16 =
374
INS_LWM16 =
379
INS_LWM32 =
380
INS_LWP =
382
INS_LWXS =
388
INS_MOVEP =
424
INS_NOT16 =
469
INS_OR16 =
472
INS_SB16 =
504
INS_SDBBP16 =
509
INS_SH16 =
524
INS_SLL16 =
541
INS_SRL16 =
558
INS_SUBU16 =
573
INS_SW16 =
582
INS_SWM16 =
587
INS_SWM32 =
588
INS_SWP =
589
INS_SYNCI =
593
INS_XOR16 =
620
GRP_CALL =
2
GRP_RET =
3
GRP_INT =
4
GRP_IRET =
5
GRP_PRIVILEGE =
6
GRP_BRANCH_RELATIVE =
7

Method Summary

Methods included from Register

register