History

Initial public commit for Dis VM

arr committed 10 years ago

Commit f95902eNo parent (first commit)40 files · +9358 −0Browse files

Showing the changes to src/include/module_reader.h (1 of 40 files). Show all

Unified · Split

src/include/module_reader.h+29−0
@@ -0,0 +1,29 @@
1+//
2+// Dis VM
3+// File: module_reader.h
4+// Author: arr
5+//
6+
7+#ifndef _DISVM_SRC_INCLUDE_MODULE_READER_H_
8+#define _DISVM_SRC_INCLUDE_MODULE_READER_H_
9+
10+#include <cstdint>
11+#include "runtime.h"
12+
13+namespace disvm
14+{
15+ namespace format
16+ {
17+ using operand_t = int32_t;
18+ static_assert(sizeof(operand_t) == sizeof(runtime::word_t), "Operand and word should be the same size");
19+ static_assert(sizeof(operand_t) == sizeof(runtime::vm_pc_t), "Operand and VM program counter type should be the same size");
20+
21+ struct magic_number_constants final
22+ {
23+ static const auto xmagic = operand_t{ 819248 }; // Normal module (0xC8030)
24+ static const auto smagic = operand_t{ 923426 }; // Signed module (0xE1722)
25+ };
26+ }
27+}
28+
29+#endif // _DISVM_SRC_INCLUDE_MODULE_READER_H_