fr30-opc.c

来自「基于4个mips核的noc设计」· C语言 代码 · 共 1,370 行 · 第 1/3 页

C
1,370
字号
    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0xb200 }  },/* lsr $u4,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (U4), ',', OP (RI), 0 } },    & ifmt_addi, { 0xb000 }  },/* lsr2 $u4,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (U4), ',', OP (RI), 0 } },    & ifmt_addi, { 0xb100 }  },/* asr $Rj,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0xba00 }  },/* asr $u4,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (U4), ',', OP (RI), 0 } },    & ifmt_addi, { 0xb800 }  },/* asr2 $u4,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (U4), ',', OP (RI), 0 } },    & ifmt_addi, { 0xb900 }  },/* ldi:8 $i8,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (I8), ',', OP (RI), 0 } },    & ifmt_ldi8, { 0xc000 }  },/* ldi:20 $i20,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (I20), ',', OP (RI), 0 } },    & ifmt_ldi20, { 0x9b00 }  },/* ldi:32 $i32,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (I32), ',', OP (RI), 0 } },    & ifmt_ldi32, { 0x9f80 }  },/* ld @$Rj,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0x400 }  },/* lduh @$Rj,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0x500 }  },/* ldub @$Rj,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0x600 }  },/* ld @($R13,$Rj),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R13), ',', OP (RJ), ')', ',', OP (RI), 0 } },    & ifmt_add, { 0x0 }  },/* lduh @($R13,$Rj),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R13), ',', OP (RJ), ')', ',', OP (RI), 0 } },    & ifmt_add, { 0x100 }  },/* ldub @($R13,$Rj),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R13), ',', OP (RJ), ')', ',', OP (RI), 0 } },    & ifmt_add, { 0x200 }  },/* ld @($R14,$disp10),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R14), ',', OP (DISP10), ')', ',', OP (RI), 0 } },    & ifmt_ldr14, { 0x2000 }  },/* lduh @($R14,$disp9),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R14), ',', OP (DISP9), ')', ',', OP (RI), 0 } },    & ifmt_ldr14uh, { 0x4000 }  },/* ldub @($R14,$disp8),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R14), ',', OP (DISP8), ')', ',', OP (RI), 0 } },    & ifmt_ldr14ub, { 0x6000 }  },/* ld @($R15,$udisp6),$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', '(', OP (R15), ',', OP (UDISP6), ')', ',', OP (RI), 0 } },    & ifmt_ldr15, { 0x300 }  },/* ld @$R15+,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (R15), '+', ',', OP (RI), 0 } },    & ifmt_div0s, { 0x700 }  },/* ld @$R15+,$Rs2 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (R15), '+', ',', OP (RS2), 0 } },    & ifmt_ldr15dr, { 0x780 }  },/* ld @$R15+,$ps */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (R15), '+', ',', OP (PS), 0 } },    & ifmt_div3, { 0x790 }  },/* st $Ri,@$Rj */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', OP (RJ), 0 } },    & ifmt_add, { 0x1400 }  },/* sth $Ri,@$Rj */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', OP (RJ), 0 } },    & ifmt_add, { 0x1500 }  },/* stb $Ri,@$Rj */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', OP (RJ), 0 } },    & ifmt_add, { 0x1600 }  },/* st $Ri,@($R13,$Rj) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R13), ',', OP (RJ), ')', 0 } },    & ifmt_add, { 0x1000 }  },/* sth $Ri,@($R13,$Rj) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R13), ',', OP (RJ), ')', 0 } },    & ifmt_add, { 0x1100 }  },/* stb $Ri,@($R13,$Rj) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R13), ',', OP (RJ), ')', 0 } },    & ifmt_add, { 0x1200 }  },/* st $Ri,@($R14,$disp10) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R14), ',', OP (DISP10), ')', 0 } },    & ifmt_ldr14, { 0x3000 }  },/* sth $Ri,@($R14,$disp9) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R14), ',', OP (DISP9), ')', 0 } },    & ifmt_ldr14uh, { 0x5000 }  },/* stb $Ri,@($R14,$disp8) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R14), ',', OP (DISP8), ')', 0 } },    & ifmt_ldr14ub, { 0x7000 }  },/* st $Ri,@($R15,$udisp6) */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '(', OP (R15), ',', OP (UDISP6), ')', 0 } },    & ifmt_ldr15, { 0x1300 }  },/* st $Ri,@-$R15 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', '@', '-', OP (R15), 0 } },    & ifmt_div0s, { 0x1700 }  },/* st $Rs2,@-$R15 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RS2), ',', '@', '-', OP (R15), 0 } },    & ifmt_ldr15dr, { 0x1780 }  },/* st $ps,@-$R15 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (PS), ',', '@', '-', OP (R15), 0 } },    & ifmt_div3, { 0x1790 }  },/* mov $Rj,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RJ), ',', OP (RI), 0 } },    & ifmt_add, { 0x8b00 }  },/* mov $Rs1,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RS1), ',', OP (RI), 0 } },    & ifmt_movdr, { 0xb700 }  },/* mov $ps,$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (PS), ',', OP (RI), 0 } },    & ifmt_div0s, { 0x1710 }  },/* mov $Ri,$Rs1 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', OP (RS1), 0 } },    & ifmt_movdr, { 0xb300 }  },/* mov $Ri,$ps */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (RI), ',', OP (PS), 0 } },    & ifmt_div0s, { 0x710 }  },/* jmp @$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RI), 0 } },    & ifmt_div0s, { 0x9700 }  },/* jmp:d @$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RI), 0 } },    & ifmt_div0s, { 0x9f00 }  },/* call @$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RI), 0 } },    & ifmt_div0s, { 0x9710 }  },/* call:d @$Ri */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', '@', OP (RI), 0 } },    & ifmt_div0s, { 0x9f10 }  },/* call $label12 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL12), 0 } },    & ifmt_call, { 0xd000 }  },/* call:d $label12 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL12), 0 } },    & ifmt_call, { 0xd800 }  },/* ret */  {    { 0, 0, 0, 0 },    { { MNEM, 0 } },    & ifmt_div3, { 0x9720 }  },/* ret:d */  {    { 0, 0, 0, 0 },    { { MNEM, 0 } },    & ifmt_div3, { 0x9f20 }  },/* int $u8 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (U8), 0 } },    & ifmt_int, { 0x1f00 }  },/* inte */  {    { 0, 0, 0, 0 },    { { MNEM, 0 } },    & ifmt_div3, { 0x9f30 }  },/* reti */  {    { 0, 0, 0, 0 },    { { MNEM, 0 } },    & ifmt_div3, { 0x9730 }  },/* bra:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf000 }  },/* bra $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe000 }  },/* bno:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf100 }  },/* bno $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe100 }  },/* beq:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf200 }  },/* beq $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe200 }  },/* bne:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf300 }  },/* bne $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe300 }  },/* bc:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf400 }  },/* bc $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe400 }  },/* bnc:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf500 }  },/* bnc $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe500 }  },/* bn:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf600 }  },/* bn $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe600 }  },/* bp:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf700 }  },/* bp $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe700 }  },/* bv:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf800 }  },/* bv $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe800 }  },/* bnv:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xf900 }  },/* bnv $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xe900 }  },/* blt:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xfa00 }  },/* blt $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xea00 }  },/* bge:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xfb00 }  },/* bge $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xeb00 }  },/* ble:d $label9 */  {    { 0, 0, 0, 0 },    { { MNEM, ' ', OP (LABEL9), 0 } },    & ifmt_brad, { 0xfc00 }  },/* ble $label9 */  {    { 0, 0, 0, 0 },

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?