-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFxScriptBytecode.hpp
More file actions
80 lines (65 loc) · 1.17 KB
/
FxScriptBytecode.hpp
File metadata and controls
80 lines (65 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#pragma once
#include "FxScriptUtil.hpp"
/*
[BASE] [SPEC]
*/
enum OpBase : uint8
{
OpBase_Push = 1,
OpBase_Pop,
OpBase_Load,
OpBase_Arith,
OpBase_Save,
OpBase_Jump,
OpBase_Data,
OpBase_Type,
OpBase_Move,
};
enum OpSpecPush : uint8
{
OpSpecPush_Int32 = 1, // PUSH32 [imm]
OpSpecPush_Reg32, // PUSH32r [%r32]
};
enum OpSpecPop : uint8
{
OpSpecPop_Int32 = 1, // POP32 [%r32]
};
enum OpSpecLoad : uint8
{
OpSpecLoad_Int32 = 1, // LOAD32 [offset] [%r32]
OpSpecLoad_AbsoluteInt32,
};
enum OpSpecArith : uint8
{
OpSpecArith_Add = 1 // ADD [%r32] [%r32]
};
enum OpSpecSave : uint8
{
OpSpecSave_Int32 = 1,
OpSpecSave_Reg32,
OpSpecSave_AbsoluteInt32,
OpSpecSave_AbsoluteReg32
};
enum OpSpecJump : uint8
{
OpSpecJump_Relative = 1,
OpSpecJump_Absolute,
OpSpecJump_AbsoluteReg32,
OpSpecJump_CallAbsolute,
OpSpecJump_ReturnToCaller,
OpSpecJump_CallExternal,
};
enum OpSpecData : uint8
{
OpSpecData_String = 1,
OpSpecData_ParamsStart,
};
enum OpSpecType : uint8
{
OpSpecType_Int = 1,
OpSpecType_String,
};
enum OpSpecMove : uint8
{
OpSpecMove_Int32 = 1,
};