⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mips.c

📁 lcc source code enjoy your self
💻 C
📖 第 1 页 / 共 5 页
字号:
/* 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 + -