about summary refs log tree commit diff
path: root/src/include/instructions.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/instructions.hpp')
-rw-r--r--src/include/instructions.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/include/instructions.hpp b/src/include/instructions.hpp
new file mode 100644
index 0000000..ed354b4
--- /dev/null
+++ b/src/include/instructions.hpp
@@ -0,0 +1,35 @@
+#pragma once
+
+#include <stdint.h>
+#include <string>
+
+#include "utils.hpp"
+#include "disassemble.hpp"
+
+enum class InstructionType
+{
+    NUL,
+    ADD,
+    ADD_SHIFTED_REG,
+    SUB,
+    MOV,
+    MOVZ,
+    RET,
+    NOP
+};
+
+class Instruction
+{
+public:
+    Instruction(uint8_t* hex, uint32_t offset, uint32_t pos);
+    uint8_t bits[33];
+    uint32_t offset;
+    uint32_t pos;
+    uint32_t addr;
+    InstructionType type;
+    std::string string;
+    uint32_t hex;
+};
+
+#include "instructionhandler.hpp"
+