📄 mips.c
字号:
/* 177 */ "# arg\n", /* stmt: ARGF4(reg) */
/* 178 */ "# arg\n", /* stmt: ARGF8(reg) */
/* 179 */ "# arg\n", /* stmt: ARGI4(reg) */
/* 180 */ "# arg\n", /* stmt: ARGP4(reg) */
/* 181 */ "# arg\n", /* stmt: ARGU4(reg) */
/* 182 */ "# argb %0\n", /* stmt: ARGB(INDIRB(reg)) */
/* 183 */ "# asgnb %0 %1\n", /* stmt: ASGNB(reg,INDIRB(reg)) */
};
static char _isinstruction[] = {
/* 0 */ 0,
/* 1 */ 1, /* # read register\n */
/* 2 */ 1, /* # read register\n */
/* 3 */ 1, /* # read register\n */
/* 4 */ 1, /* # read register\n */
/* 5 */ 1, /* # read register\n */
/* 6 */ 1, /* # read register\n */
/* 7 */ 1, /* # read register\n */
/* 8 */ 1, /* # read register\n */
/* 9 */ 1, /* # read register\n */
/* 10 */ 1, /* # read register\n */
/* 11 */ 1, /* # read register\n */
/* 12 */ 1, /* # read register\n */
/* 13 */ 1, /* # write register\n */
/* 14 */ 1, /* # write register\n */
/* 15 */ 1, /* # write register\n */
/* 16 */ 1, /* # write register\n */
/* 17 */ 1, /* # write register\n */
/* 18 */ 1, /* # write register\n */
/* 19 */ 1, /* # write register\n */
/* 20 */ 1, /* # write register\n */
/* 21 */ 1, /* # write register\n */
/* 22 */ 1, /* # write register\n */
/* 23 */ 1, /* # write register\n */
/* 24 */ 1, /* # write register\n */
/* 25 */ 0, /* %a */
/* 26 */ 0, /* %a */
/* 27 */ 0, /* %a */
/* 28 */ 0, /* %a */
/* 29 */ 0, /* %a */
/* 30 */ 0, /* %a */
/* 31 */ 0, /* %a */
/* 32 */ 0, /* %a */
/* 33 */ 0, /* %a */
/* 34 */ 0, /* %a */
/* 35 */ 0, /* */
/* 36 */ 0, /* %0 */
/* 37 */ 0, /* %a */
/* 38 */ 0, /* %1($%0) */
/* 39 */ 0, /* %1($%0) */
/* 40 */ 0, /* %1($%0) */
/* 41 */ 0, /* %0 */
/* 42 */ 0, /* ($%0) */
/* 43 */ 0, /* %a+%F($sp) */
/* 44 */ 0, /* %a+%F($sp) */
/* 45 */ 1, /* la $%c,%0\n */
/* 46 */ 1, /* # reg\n */
/* 47 */ 1, /* # reg\n */
/* 48 */ 1, /* # reg\n */
/* 49 */ 1, /* # reg\n */
/* 50 */ 1, /* # reg\n */
/* 51 */ 1, /* # reg\n */
/* 52 */ 1, /* # reg\n */
/* 53 */ 1, /* sb $%1,%0\n */
/* 54 */ 1, /* sb $%1,%0\n */
/* 55 */ 1, /* sh $%1,%0\n */
/* 56 */ 1, /* sh $%1,%0\n */
/* 57 */ 1, /* sw $%1,%0\n */
/* 58 */ 1, /* sw $%1,%0\n */
/* 59 */ 1, /* sw $%1,%0\n */
/* 60 */ 1, /* lb $%c,%0\n */
/* 61 */ 1, /* lbu $%c,%0\n */
/* 62 */ 1, /* lh $%c,%0\n */
/* 63 */ 1, /* lhu $%c,%0\n */
/* 64 */ 1, /* lw $%c,%0\n */
/* 65 */ 1, /* lw $%c,%0\n */
/* 66 */ 1, /* lw $%c,%0\n */
/* 67 */ 1, /* lb $%c,%0\n */
/* 68 */ 1, /* lh $%c,%0\n */
/* 69 */ 1, /* lbu $%c,%0\n */
/* 70 */ 1, /* lhu $%c,%0\n */
/* 71 */ 1, /* lbu $%c,%0\n */
/* 72 */ 1, /* lhu $%c,%0\n */
/* 73 */ 1, /* l.s $f%c,%0\n */
/* 74 */ 1, /* l.d $f%c,%0\n */
/* 75 */ 1, /* s.s $f%1,%0\n */
/* 76 */ 1, /* s.d $f%1,%0\n */
/* 77 */ 1, /* div $%c,$%0,$%1\n */
/* 78 */ 1, /* divu $%c,$%0,$%1\n */
/* 79 */ 1, /* rem $%c,$%0,$%1\n */
/* 80 */ 1, /* remu $%c,$%0,$%1\n */
/* 81 */ 1, /* mul $%c,$%0,$%1\n */
/* 82 */ 1, /* mul $%c,$%0,$%1\n */
/* 83 */ 0, /* %0 */
/* 84 */ 0, /* $%0 */
/* 85 */ 1, /* addu $%c,$%0,%1\n */
/* 86 */ 1, /* addu $%c,$%0,%1\n */
/* 87 */ 1, /* addu $%c,$%0,%1\n */
/* 88 */ 1, /* and $%c,$%0,%1\n */
/* 89 */ 1, /* or $%c,$%0,%1\n */
/* 90 */ 1, /* xor $%c,$%0,%1\n */
/* 91 */ 1, /* and $%c,$%0,%1\n */
/* 92 */ 1, /* or $%c,$%0,%1\n */
/* 93 */ 1, /* xor $%c,$%0,%1\n */
/* 94 */ 1, /* subu $%c,$%0,%1\n */
/* 95 */ 1, /* subu $%c,$%0,%1\n */
/* 96 */ 1, /* subu $%c,$%0,%1\n */
/* 97 */ 0, /* %a */
/* 98 */ 0, /* $%0 */
/* 99 */ 1, /* sll $%c,$%0,%1\n */
/* 100 */ 1, /* sll $%c,$%0,%1\n */
/* 101 */ 1, /* sra $%c,$%0,%1\n */
/* 102 */ 1, /* srl $%c,$%0,%1\n */
/* 103 */ 1, /* not $%c,$%0\n */
/* 104 */ 1, /* not $%c,$%0\n */
/* 105 */ 1, /* negu $%c,$%0\n */
/* 106 */ 1, /* move $%c,$%0\n */
/* 107 */ 1, /* move $%c,$%0\n */
/* 108 */ 1, /* move $%c,$%0\n */
/* 109 */ 1, /* move $%c,$%0\n */
/* 110 */ 1, /* move $%c,$%0\n */
/* 111 */ 1, /* move $%c,$%0\n */
/* 112 */ 1, /* move $%c,$%0\n */
/* 113 */ 1, /* add.s $f%c,$f%0,$f%1\n */
/* 114 */ 1, /* add.d $f%c,$f%0,$f%1\n */
/* 115 */ 1, /* div.s $f%c,$f%0,$f%1\n */
/* 116 */ 1, /* div.d $f%c,$f%0,$f%1\n */
/* 117 */ 1, /* mul.s $f%c,$f%0,$f%1\n */
/* 118 */ 1, /* mul.d $f%c,$f%0,$f%1\n */
/* 119 */ 1, /* sub.s $f%c,$f%0,$f%1\n */
/* 120 */ 1, /* sub.d $f%c,$f%0,$f%1\n */
/* 121 */ 1, /* mov.s $f%c,$f%0\n */
/* 122 */ 1, /* mov.d $f%c,$f%0\n */
/* 123 */ 1, /* neg.s $f%c,$f%0\n */
/* 124 */ 1, /* neg.d $f%c,$f%0\n */
/* 125 */ 1, /* sll $%c,$%0,8*(4-%a); sra $%c,$%c,8*(4-%a)\n */
/* 126 */ 1, /* and $%c,$%0,(1<<(8*%a))-1\n */
/* 127 */ 1, /* and $%c,$%0,(1<<(8*%a))-1\n */
/* 128 */ 1, /* cvt.s.d $f%c,$f%0\n */
/* 129 */ 1, /* cvt.d.s $f%c,$f%0\n */
/* 130 */ 1, /* mtc1 $%0,$f%c; cvt.s.w $f%c,$f%c\n */
/* 131 */ 1, /* mtc1 $%0,$f%c; cvt.d.w $f%c,$f%c\n */
/* 132 */ 1, /* trunc.w.s $f2,$f%0,$%c; mfc1 $%c,$f2\n */
/* 133 */ 1, /* trunc.w.d $f2,$f%0,$%c; mfc1 $%c,$f2\n */
/* 134 */ 1, /* %a:\n */
/* 135 */ 1, /* b %0\n */
/* 136 */ 1, /* .cpadd $%0\nj $%0\n */
/* 137 */ 1, /* j $%0\n */
/* 138 */ 1, /* beq $%0,$%1,%a\n */
/* 139 */ 1, /* beq $%0,$%1,%a\n */
/* 140 */ 1, /* bge $%0,$%1,%a\n */
/* 141 */ 1, /* bgeu $%0,$%1,%a\n */
/* 142 */ 1, /* bgt $%0,$%1,%a\n */
/* 143 */ 1, /* bgtu $%0,$%1,%a\n */
/* 144 */ 1, /* ble $%0,$%1,%a\n */
/* 145 */ 1, /* bleu $%0,$%1,%a\n */
/* 146 */ 1, /* blt $%0,$%1,%a\n */
/* 147 */ 1, /* bltu $%0,$%1,%a\n */
/* 148 */ 1, /* bne $%0,$%1,%a\n */
/* 149 */ 1, /* bne $%0,$%1,%a\n */
/* 150 */ 1, /* c.eq.s $f%0,$f%1; bc1t %a\n */
/* 151 */ 1, /* c.eq.d $f%0,$f%1; bc1t %a\n */
/* 152 */ 1, /* c.ule.s $f%0,$f%1; bc1t %a\n */
/* 153 */ 1, /* c.ule.d $f%0,$f%1; bc1t %a\n */
/* 154 */ 1, /* c.ult.s $f%0,$f%1; bc1t %a\n */
/* 155 */ 1, /* c.ult.d $f%0,$f%1; bc1t %a\n */
/* 156 */ 1, /* c.lt.s $f%0,$f%1; bc1f %a\n */
/* 157 */ 1, /* c.lt.d $f%0,$f%1; bc1f %a\n */
/* 158 */ 1, /* c.le.s $f%0,$f%1; bc1f %a\n */
/* 159 */ 1, /* c.le.d $f%0,$f%1; bc1f %a\n */
/* 160 */ 1, /* c.eq.s $f%0,$f%1; bc1f %a\n */
/* 161 */ 1, /* c.eq.d $f%0,$f%1; bc1f %a\n */
/* 162 */ 0, /* %a */
/* 163 */ 1, /* jal %0\n */
/* 164 */ 1, /* jal %0\n */
/* 165 */ 1, /* jal %0\n */
/* 166 */ 1, /* jal %0\n */
/* 167 */ 1, /* jal %0\n */
/* 168 */ 1, /* jal %0\n */
/* 169 */ 0, /* $%0 */
/* 170 */ 0, /* %a */
/* 171 */ 1, /* # ret\n */
/* 172 */ 1, /* # ret\n */
/* 173 */ 1, /* # ret\n */
/* 174 */ 1, /* # ret\n */
/* 175 */ 1, /* # ret\n */
/* 176 */ 1, /* # ret\n */
/* 177 */ 1, /* # arg\n */
/* 178 */ 1, /* # arg\n */
/* 179 */ 1, /* # arg\n */
/* 180 */ 1, /* # arg\n */
/* 181 */ 1, /* # arg\n */
/* 182 */ 1, /* # argb %0\n */
/* 183 */ 1, /* # asgnb %0 %1\n */
};
static char *_string[] = {
/* 0 */ 0,
/* 1 */ "reg: INDIRI1(VREGP)",
/* 2 */ "reg: INDIRU1(VREGP)",
/* 3 */ "reg: INDIRI2(VREGP)",
/* 4 */ "reg: INDIRU2(VREGP)",
/* 5 */ "reg: INDIRF4(VREGP)",
/* 6 */ "reg: INDIRI4(VREGP)",
/* 7 */ "reg: INDIRP4(VREGP)",
/* 8 */ "reg: INDIRU4(VREGP)",
/* 9 */ "reg: INDIRF8(VREGP)",
/* 10 */ "reg: INDIRI8(VREGP)",
/* 11 */ "reg: INDIRP8(VREGP)",
/* 12 */ "reg: INDIRU8(VREGP)",
/* 13 */ "stmt: ASGNI1(VREGP,reg)",
/* 14 */ "stmt: ASGNU1(VREGP,reg)",
/* 15 */ "stmt: ASGNI2(VREGP,reg)",
/* 16 */ "stmt: ASGNU2(VREGP,reg)",
/* 17 */ "stmt: ASGNF4(VREGP,reg)",
/* 18 */ "stmt: ASGNI4(VREGP,reg)",
/* 19 */ "stmt: ASGNP4(VREGP,reg)",
/* 20 */ "stmt: ASGNU4(VREGP,reg)",
/* 21 */ "stmt: ASGNF8(VREGP,reg)",
/* 22 */ "stmt: ASGNI8(VREGP,reg)",
/* 23 */ "stmt: ASGNP8(VREGP,reg)",
/* 24 */ "stmt: ASGNU8(VREGP,reg)",
/* 25 */ "con: CNSTI1",
/* 26 */ "con: CNSTU1",
/* 27 */ "con: CNSTI2",
/* 28 */ "con: CNSTU2",
/* 29 */ "con: CNSTI4",
/* 30 */ "con: CNSTU4",
/* 31 */ "con: CNSTP4",
/* 32 */ "con: CNSTI8",
/* 33 */ "con: CNSTU8",
/* 34 */ "con: CNSTP8",
/* 35 */ "stmt: reg",
/* 36 */ "acon: con",
/* 37 */ "acon: ADDRGP4",
/* 38 */ "addr: ADDI4(reg,acon)",
/* 39 */ "addr: ADDU4(reg,acon)",
/* 40 */ "addr: ADDP4(reg,acon)",
/* 41 */ "addr: acon",
/* 42 */ "addr: reg",
/* 43 */ "addr: ADDRFP4",
/* 44 */ "addr: ADDRLP4",
/* 45 */ "reg: addr",
/* 46 */ "reg: CNSTI1",
/* 47 */ "reg: CNSTI2",
/* 48 */ "reg: CNSTI4",
/* 49 */ "reg: CNSTU1",
/* 50 */ "reg: CNSTU2",
/* 51 */ "reg: CNSTU4",
/* 52 */ "reg: CNSTP4",
/* 53 */ "stmt: ASGNI1(addr,reg)",
/* 54 */ "stmt: ASGNU1(addr,reg)",
/* 55 */ "stmt: ASGNI2(addr,reg)",
/* 56 */ "stmt: ASGNU2(addr,reg)",
/* 57 */ "stmt: ASGNI4(addr,reg)",
/* 58 */ "stmt: ASGNU4(addr,reg)",
/* 59 */ "stmt: ASGNP4(addr,reg)",
/* 60 */ "reg: INDIRI1(addr)",
/* 61 */ "reg: INDIRU1(addr)",
/* 62 */ "reg: INDIRI2(addr)",
/* 63 */ "reg: INDIRU2(addr)",
/* 64 */ "reg: INDIRI4(addr)",
/* 65 */ "reg: INDIRU4(addr)",
/* 66 */ "reg: INDIRP4(addr)",
/* 67 */ "reg: CVII4(INDIRI1(addr))",
/* 68 */ "reg: CVII4(INDIRI2(addr))",
/* 69 */ "reg: CVUU4(INDIRU1(addr))",
/* 70 */ "reg: CVUU4(INDIRU2(addr))",
/* 71 */ "reg: CVUI4(INDIRU1(addr))",
/* 72 */ "reg: CVUI4(INDIRU2(addr))",
/* 73 */ "reg: INDIRF4(addr)",
/* 74 */ "reg: INDIRF8(addr)",
/* 75 */ "stmt: ASGNF4(addr,reg)",
/* 76 */ "stmt: ASGNF8(addr,reg)",
/* 77 */ "reg: DIVI4(reg,reg)",
/* 78 */ "reg: DIVU4(reg,reg)",
/* 79 */ "reg: MODI4(reg,reg)",
/* 80 */ "reg: MODU4(reg,reg)",
/* 81 */ "reg: MULI4(reg,reg)",
/* 82 */ "reg: MULU4(reg,reg)",
/* 83 */ "rc: con",
/* 84 */ "rc: reg",
/* 85 */ "reg: ADDI4(reg,rc)",
/* 86 */ "reg: ADDP4(reg,rc)",
/* 87 */ "reg: ADDU4(reg,rc)",
/* 88 */ "reg: BANDI4(reg,rc)",
/* 89 */ "reg: BORI4(reg,rc)",
/* 90 */ "reg: BXORI4(reg,rc)",
/* 91 */ "reg: BANDU4(reg,rc)",
/* 92 */ "reg: BORU4(reg,rc)",
/* 93 */ "reg: BXORU4(reg,rc)",
/* 94 */ "reg: SUBI4(reg,rc)",
/* 95 */ "reg: SUBP4(reg,rc)",
/* 96 */ "reg: SUBU4(reg,rc)",
/* 97 */ "rc5: CNSTI4",
/* 98 */ "rc5: reg",
/* 99 */ "reg: LSHI4(reg,rc5)",
/* 100 */ "reg: LSHU4(reg,rc5)",
/* 101 */ "reg: RSHI4(reg,rc5)",
/* 102 */ "reg: RSHU4(reg,rc5)",
/* 103 */ "reg: BCOMI4(reg)",
/* 104 */ "reg: BCOMU4(reg)",
/* 105 */ "reg: NEGI4(reg)",
/* 106 */ "reg: LOADI1(reg)",
/* 107 */ "reg: LOADU1(reg)",
/* 108 */ "reg: LOADI2(reg)",
/* 109 */ "reg: LOADU2(reg)",
/* 110 */ "reg: LOADI4(reg)",
/* 111 */ "reg: LOADP4(reg)",
/* 112 */ "reg: LOADU4(reg)",
/* 113 */ "reg: ADDF4(reg,reg)",
/* 114 */ "reg: ADDF8(reg,reg)",
/* 115 */ "reg: DIVF4(reg,reg)",
/* 116 */ "reg: DIVF8(reg,reg)",
/* 117 */ "reg: MULF4(reg,reg)",
/* 118 */ "reg: MULF8(reg,reg)",
/* 119 */ "reg: SUBF4(reg,reg)",
/* 120 */ "reg: SUBF8(reg,reg)",
/* 121 */ "reg: LOADF4(reg)",
/* 122 */ "reg: LOADF8(reg)",
/* 123 */ "reg: NEGF4(reg)",
/* 124 */ "reg: NEGF8(reg)",
/* 125 */ "reg: CVII4(reg)",
/* 126 */ "reg: CVUI4(reg)",
/* 127 */ "reg: CVUU4(reg)",
/* 128 */ "reg: CVFF4(reg)",
/* 129 */ "reg: CVFF8(reg)",
/* 130 */ "reg: CVIF4(reg)",
/* 131 */ "reg: CVIF8(reg)",
/* 132 */ "reg: CVFI4(reg)",
/* 133 */ "reg: CVFI4(reg)",
/* 134 */ "stmt: LABELV",
/* 135 */ "stmt: JUMPV(acon)",
/* 136 */ "stmt: JUMPV(reg)",
/* 137 */ "stmt: JUMPV(reg)",
/* 138 */ "stmt: EQI4(reg,reg)",
/* 139 */ "stmt: EQU4(reg,reg)",
/* 140 */ "stmt: GEI4(reg,reg)",
/* 141 */ "stmt: GEU4(reg,reg)",
/* 142 */ "stmt: GTI4(reg,reg)",
/* 143 */ "stmt: GTU4(reg,reg)",
/* 144 */ "stmt: LEI4(reg,reg)",
/* 145 */ "stmt: LEU4(reg,reg)",
/* 146 */ "stmt: LTI4(reg,reg)",
/* 147 */ "stmt: LTU4(reg,reg)",
/* 148 */ "stmt: NEI4(reg,reg)",
/* 149 */ "stmt: NEU4(reg,reg)",
/* 150 */ "stmt: EQF4(reg,reg)",
/* 151 */ "stmt: EQF8(reg,reg)",
/* 152 */ "stmt: LEF4(reg,reg)",
/* 153 */ "stmt: LEF8(reg,reg)",
/* 154 */ "stmt: LTF4(reg,reg)",
/* 155 */ "stmt: LTF8(reg,reg)",
/* 156 */ "stmt: GEF4(reg,reg)",
/* 157 */ "stmt: GEF8(reg,reg)",
/* 158 */ "stmt: GTF4(reg,reg)",
/* 159 */ "stmt: GTF8(reg,reg)",
/* 160 */ "stmt: NEF4(reg,reg)",
/* 161 */ "stmt: NEF8(reg,reg)",
/* 162 */ "ar: ADDRGP4",
/* 163 */ "reg: CALLF4(ar)",
/* 164 */ "reg: CALLF8(ar)",
/* 165 */ "reg: CALLI4(ar)",
/* 166 */ "reg: CALLP4(ar)",
/* 167 */ "reg: CALLU4(ar)",
/* 168 */ "stmt: CALLV(ar)",
/* 169 */ "ar: reg",
/* 170 */ "ar: CNSTP4",
/* 171 */ "stmt: RETF4(reg)",
/* 172 */ "stmt: RETF8(reg)",
/* 173 */ "stmt: RETI4(reg)",
/* 174 */ "stmt: RETU4(reg)",
/* 175 */ "stmt: RETP4(reg)",
/* 176 */ "stmt: RETV(reg)",
/* 177 */ "stmt: ARGF4(reg)",
/* 178 */ "stmt: ARGF8(reg)",
/* 179 */ "stmt: ARGI4(reg)",
/* 180 */ "stmt: ARGP4(reg)",
/* 181 */ "stmt: ARGU4(reg)",
/* 182 */ "stmt: ARGB(INDIRB(reg))",
/* 183 */ "stmt: ASGNB(reg,INDIRB(reg))",
};
static short _decode_stmt[] = {
0,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
35,
53,
54,
55,
56,
57,
58,
59,
75,
76,
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,
168,
171,
172,
173,
174,
175,
176,
177,
178,
179,
180,
181,
182,
183,
};
static short _decode_reg[] = {
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
45,
46,
47,
48,
49,
50,
51,
52,
60,
61,
62,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -