mips.c
来自「基于4个mips核的noc设计」· C语言 代码 · 共 2,447 行 · 第 1/5 页
C
2,447 行
/* 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.le.s $f%0,$f%1; bc1t %a\n *//* 153 */ 1, /* c.le.d $f%0,$f%1; bc1t %a\n *//* 154 */ 1, /* c.lt.s $f%0,$f%1; bc1t %a\n *//* 155 */ 1, /* c.lt.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, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 81, 82, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?