about summary refs log tree commit diff
path: root/src/include/instructions.hpp
diff options
context:
space:
mode:
authorYour Name <you@example.com>2020-07-20 02:54:22 +0200
committerYour Name <you@example.com>2020-07-20 02:54:22 +0200
commitc69f053c29faa47d0600f5b147835e970d9cf654 (patch)
treed97af2f279114c72c3db81ffb489c316fb3f6dd6 /src/include/instructions.hpp
downloadAARM64-Disassembler-master.tar.gz
AARM64-Disassembler-master.tar.bz2
AARM64-Disassembler-master.zip
Initial Commit HEAD master
Half-added some basic AARM64 instructions such as ADD, RET, MOV, NOP...
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"
+