// alufn[5:0] // asel, bsel // moe, mwr // pcsel[2:0] // ra2sel // wasel, wdsel[1:0], werf 0b??????_??_?0_011_?_1001 // 0b000000 0b??????_??_?0_011_?_1001 // 0b000001 0b??????_??_?0_011_?_1001 // 0b000010 0b??????_??_?0_011_?_1001 // 0b000011 0b??????_??_?0_011_?_1001 // 0b000100 0b??????_??_?0_011_?_1001 // 0b000101 0b??????_??_?0_011_?_1001 // 0b000110 0b??????_??_?0_011_?_1001 // 0b000111 0b??????_??_?0_011_?_1001 // 0b001000 0b??????_??_?0_011_?_1001 // 0b001001 0b??????_??_?0_011_?_1001 // 0b001010 0b??????_??_?0_011_?_1001 // 0b001011 0b??????_??_?0_011_?_1001 // 0b001100 0b??????_??_?0_011_?_1001 // 0b001101 0b??????_??_?0_011_?_1001 // 0b001110 0b??????_??_?0_011_?_1001 // 0b001111 // alufn[5:0] // asel, bsel // moe, mwr // pcsel[2:0] // ra2sel // wasel, wdsel[1:0], werf 0b??????_??_?0_011_?_1001 // 0b010000 0b??????_??_?0_011_?_1001 // 0b010001 0b??????_??_?0_011_?_1001 // 0b010010 0b??????_??_?0_011_?_1001 // 0b010011 0b??????_??_?0_011_?_1001 // 0b010100 0b??????_??_?0_011_?_1001 // 0b010101 0b??????_??_?0_011_?_1001 // 0b010110 0b??????_??_?0_011_?_1001 // 0b010111 0b??????_??_?0_011_?_1001 // 0b011000 LD 0b??????_??_?0_011_?_1001 // 0b011001 ST 0b??????_??_?0_011_?_1001 // 0b011010 0b??????_??_?0_011_?_1001 // 0b011011 JMP 0b??????_??_?0_011_?_1001 // 0b011100 BEQ 0b??????_??_?0_011_?_1001 // 0b011101 BNE 0b??????_??_?0_011_?_1001 // 0b011110 0b??????_??_?0_011_?_1001 // 0b011111 LDR // alufn[5:0] // asel, bsel // moe, mwr // pcsel[2:0] // ra2sel // wasel, wdsel[1:0], werf 0b??????_??_?0_011_?_1001 // 0b100000 ADD 0b??????_??_?0_011_?_1001 // 0b100001 SUB 0b??????_??_?0_011_?_1001 // 0b100010 [normally MUL, but ILLOP for our ALU] 0b??????_??_?0_011_?_1001 // 0b100011 [normally DIV, but ILOOP for our ALU] 0b??????_??_?0_011_?_1001 // 0b100100 CMPEQ 0b??????_??_?0_011_?_1001 // 0b100101 CMPLT 0b??????_??_?0_011_?_1001 // 0b100110 CMPLE 0b??????_??_?0_011_?_1001 // 0b100111 0b??????_??_?0_011_?_1001 // 0b101000 AND 0b??????_??_?0_011_?_1001 // 0b101001 OR 0b??????_??_?0_011_?_1001 // 0b101010 XOR 0b??????_??_?0_011_?_1001 // 0b101011 XNOR 0b??????_??_?0_011_?_1001 // 0b101100 SHL 0b??????_??_?0_011_?_1001 // 0b101101 SHR 0b??????_??_?0_011_?_1001 // 0b101110 SRA 0b??????_??_?0_011_?_1001 // 0b101111 // alufn[5:0] // asel, bsel // moe, mwr // pcsel[2:0] // ra2sel // wasel, wdsel[1:0], werf 0b??????_??_?0_011_?_1001 // 0b110000 ADDC 0b??????_??_?0_011_?_1001 // 0b110001 SUBC 0b??????_??_?0_011_?_1001 // 0b110010 [normally MULC, but ILLOP for our ALU] 0b??????_??_?0_011_?_1001 // 0b110011 [normally DIVC, but ILLOP for our ALU] 0b??????_??_?0_011_?_1001 // 0b110100 CMPEQC 0b??????_??_?0_011_?_1001 // 0b110101 CMPLTC 0b??????_??_?0_011_?_1001 // 0b110110 CMPLEC 0b??????_??_?0_011_?_1001 // 0b110111 0b??????_??_?0_011_?_1001 // 0b111000 ANDC 0b??????_??_?0_011_?_1001 // 0b111001 ORC 0b??????_??_?0_011_?_1001 // 0b111010 XORC 0b??????_??_?0_011_?_1001 // 0b111011 XNORC 0b??????_??_?0_011_?_1001 // 0b111100 SHLC 0b??????_??_?0_011_?_1001 // 0b111101 SHRC 0b??????_??_?0_011_?_1001 // 0b111110 SRAC 0b??????_??_?0_011_?_1001 // 0b111111