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
13namespace 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_