////-------------------------------- DP0 DP1 ALU ALT IMM LUI A B MR SI MW RW RD FC0 FHI FLO C0W HIW LOW 32'b00000000000???????????????000010 1 1 2 0 ? ? sa rt 0 ? 0 1 rd 0 0 0 0 0 0 // SRL 32'b00000000000???????????????000011 1 1 2 1 ? ? sa rt 0 ? 0 1 rd 0 0 0 0 0 0 // SRA 32'b000000???????????????00000000100 1 1 1 ? ? ? sa rt 0 ? 0 1 rd 0 0 0 0 0 0 // SLLV 32'b000000???????????????00000000110 1 1 2 0 ? ? sa rt 0 ? 0 1 rd 0 0 0 0 0 0 // SRLV 32'b000000???????????????00000000111 1 1 2 1 ? ? sa rt 0 ? 0 1 rd 0 0 0 0 0 0 // SRAV 32'b000000?????000000000000000001000 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // JR 32'b000000?????00000?????00000001001 1 1 3 0 ? ? pc 8 0 ? 0 1 rd 0 0 0 0 0 0 // JALR 32'b000000????????????????????001100 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // SYSCALL 32'b000000????????????????????001101 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BREAK 32'b0000000000000000?????00000010000 1 0 ? ? ? ? ? ? ? ? ? 1 rd 0 1 ? 0 0 0 // MFHI 32'b000000?????000000000000000010001 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 1 0 // MTHI 32'b0000000000000000?????00000010010 1 0 ? ? ? ? ? ? ? ? ? 1 rd 0 0 1 0 0 0 // MFLO 32'b000000?????000000000000000010011 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 0 1 // MTLO 32'b000000??????????0000000000011000 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 2 2 // MULT 32'b000000??????????0000000000011001 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 2 2 // MULTU 32'b000000??????????0000000000011010 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 3 3 // DIV 32'b000000??????????0000000000011011 1 0 ? ? ? ? ? ? ? ? ? 0 ? ? ? ? 0 3 3 // DIVU 32'b000000???????????????00000100000 1 1 3 0 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // ADD 32'b000000???????????????00000100001 1 1 3 0 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // ADDU 32'b000000???????????????00000100010 1 1 3 1 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // SUB 32'b000000???????????????00000100011 1 1 3 1 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // SUBU 32'b000000???????????????00000100100 1 1 4 ? ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // AND 32'b000000???????????????00000100101 1 1 5 0 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // OR 32'b000000???????????????00000100110 1 1 6 ? ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // XOR 32'b000000???????????????00000100111 1 1 5 1 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // NOR 32'b000000???????????????00000101010 1 1 7 1 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // SLT 32'b000000???????????????00000101011 1 1 8 1 ? ? rs rt 0 ? 0 1 rd 0 0 0 0 0 0 // SLTU 32'b000001?????00000???????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BLTZ 32'b000001?????10000???????????????? 1 1 3 0 ? ? pc 8 0 ? 0 1 31 0 0 0 0 0 0 // BLTZAL 32'b000001?????00001???????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BGEZ 32'b000001?????10001???????????????? 1 1 3 0 ? ? pc 8 0 ? 0 1 31 0 0 0 0 0 0 // BGEZAL 32'b000010?????????????????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // J 32'b000011?????????????????????????? 1 1 3 0 ? ? pc 8 0 ? 0 1 31 0 0 0 0 0 0 // JAL 32'b000100?????????????????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BEQ 32'b000101?????????????????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BNE 32'b000110?????00000???????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BLEZ 32'b000111?????00000???????????????? 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // BGTZ 32'b001000?????????????????????????? 1 1 3 0 1 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // ADDI 32'b001001?????????????????????????? 1 1 3 0 1 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // ADDIU 32'b001010?????????????????????????? 1 1 7 1 1 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // SLTI 32'b001011?????????????????????????? 1 1 8 1 1 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // SLTIU 32'b001100?????????????????????????? 1 1 4 ? 0 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // ANDI 32'b001101?????????????????????????? 1 1 5 0 0 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // ORI 32'b001110?????????????????????????? 1 1 6 ? 0 0 rs imm 0 ? 0 1 rt 0 0 0 0 0 0 // XORI 32'b00111100000????????????????????? 1 1 3 0 ? 1 0 imm 0 ? 0 1 rt 0 0 0 0 0 0 // LUI 32'b01000000000??????????00000000??? 1 0 3 0 ? ? ? ? ? ? ? 1 rd 1 ? ? 0 0 0 // MFC0 32'b01000000100??????????00000000??? 1 0 3 0 ? ? ? ? ? ? ? 0 ? ? ? ? 1 0 0 // MTC0 32'b01000010000000000000000000011000 1 1 ? ? ? ? ? ? 0 ? 0 0 ? ? ? ? 0 0 0 // ERET 32'b100000?????????????????????????? 0 1 3 0 1 0 rs imm 1 1 0 1 rt 0 0 0 0 0 0 // LB 32'b100001?????????????????????????? 0 1 3 0 1 0 rs imm 1 1 0 1 rt 0 0 0 0 0 0 // LH 32'b100011?????????????????????????? 0 1 3 0 1 0 rs imm 1 1 0 1 rt 0 0 0 0 0 0 // LW 32'b100100?????????????????????????? 0 1 3 0 1 0 rs imm 1 0 0 1 rt 0 0 0 0 0 0 // LBU 32'b100101?????????????????????????? 0 1 3 0 1 0 rs imm 1 0 0 1 rt 0 0 0 0 0 0 // LHU 32'b101000?????????????????????????? 0 1 3 0 1 0 rs imm 1 ? 1 0 ? ? ? ? 0 0 0 // SB 32'b101001?????????????????????????? 0 1 3 0 1 0 rs imm 1 ? 1 0 ? ? ? ? 0 0 0 // SH 32'b101011?????????????????????????? 0 1 3 0 1 0 rs imm 1 ? 1 0 ? ? ? ? 0 0 0 // SW