diff options
Diffstat (limited to 'qtmips_machine/alu.h')
-rw-r--r-- | qtmips_machine/alu.h | 37 |
1 files changed, 2 insertions, 35 deletions
diff --git a/qtmips_machine/alu.h b/qtmips_machine/alu.h index bc12666..efadbe0 100644 --- a/qtmips_machine/alu.h +++ b/qtmips_machine/alu.h @@ -41,42 +41,9 @@ #include <QObject> #include <registers.h> -namespace machine { +#include "machinedefs.h" -enum AluOp : std::uint8_t { - ALU_OP_SLL = 0, - ALU_OP_SRL = 2, - ALU_OP_SRA, - ALU_OP_SLLV, - ALU_OP_SRLV = 6, - ALU_OP_SRAV, - ALU_OP_JR, - ALU_OP_JALR, - ALU_OP_MOVZ, - ALU_OP_MOVN, - ALU_OP_BREAK = 13, - ALU_OP_MFHI = 16, - ALU_OP_MTHI, - ALU_OP_MFLO, - ALU_OP_MTLO, - ALU_OP_MULT = 24, - ALU_OP_MULTU = 25, - ALU_OP_DIV = 26, - ALU_OP_DIVU = 27, - ALU_OP_ADD = 32, - ALU_OP_ADDU, - ALU_OP_SUB, - ALU_OP_SUBU, - ALU_OP_AND, - ALU_OP_OR, - ALU_OP_XOR, - ALU_OP_NOR, - ALU_OP_SLT = 42, - ALU_OP_SLTU, - ALU_OP_LUI = 64, // We don't care about exact index for this one - ALU_OP_PASS_S, // Pass s argument without change for JAL - ALU_OP_LAST // First impossible operation (just to be sure that we don't overflow) -}; +namespace machine { // Do ALU operation. // operation: This is function field from instruction or shifted opcode for immediate instructions |