aboutsummaryrefslogtreecommitdiff
path: root/qtmips_machine/alu.h
diff options
context:
space:
mode:
Diffstat (limited to 'qtmips_machine/alu.h')
-rw-r--r--qtmips_machine/alu.h37
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