-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathOpcodes.luau
More file actions
123 lines (118 loc) · 3.14 KB
/
Copy pathOpcodes.luau
File metadata and controls
123 lines (118 loc) · 3.14 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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
local OpCode = {}
OpCode.NOP = 0
OpCode.BREAK = 1
OpCode.LOADNIL = 2
OpCode.LOADB = 3
OpCode.LOADN = 4
OpCode.LOADK = 5
OpCode.MOVE = 6
OpCode.GETGLOBAL = 7
OpCode.SETGLOBAL = 8
OpCode.GETUPVAL = 9
OpCode.SETUPVAL = 10
OpCode.CLOSEUPVALS = 11
OpCode.GETIMPORT = 12
OpCode.GETTABLE = 13
OpCode.SETTABLE = 14
OpCode.GETTABLEKS = 15
OpCode.SETTABLEKS = 16
OpCode.GETTABLEN = 17
OpCode.SETTABLEN = 18
OpCode.NEWCLOSURE = 19
OpCode.NAMECALL = 20
OpCode.CALL = 21
OpCode.RETURN = 22
OpCode.JUMP = 23
OpCode.JUMPBACK = 24
OpCode.JUMPIF = 25
OpCode.JUMPIFNOT = 26
OpCode.JUMPIFEQ = 27
OpCode.JUMPIFLE = 28
OpCode.JUMPIFLT = 29
OpCode.JUMPIFNOTEQ = 30
OpCode.JUMPIFNOTLE = 31
OpCode.JUMPIFNOTLT = 32
OpCode.ADD = 33
OpCode.SUB = 34
OpCode.MUL = 35
OpCode.DIV = 36
OpCode.MOD = 37
OpCode.POW = 38
OpCode.ADDK = 39
OpCode.SUBK = 40
OpCode.MULK = 41
OpCode.DIVK = 42
OpCode.MODK = 43
OpCode.POWK = 44
OpCode.AND = 45
OpCode.OR = 46
OpCode.ANDK = 47
OpCode.ORK = 48
OpCode.CONCAT = 49
OpCode.NOT = 50
OpCode.MINUS = 51
OpCode.LENGTH = 52
OpCode.NEWTABLE = 53
OpCode.DUPTABLE = 54
OpCode.SETLIST = 55
OpCode.FORNPREP = 56
OpCode.FORNLOOP = 57
OpCode.FORGLOOP = 58
OpCode.FORGPREP_INEXT = 59
OpCode.FASTCALL3 = 60
OpCode.DEP_FORGLOOP_INEXT = 60
OpCode.FORGPREP_NEXT = 61
OpCode.DEP_FORGLOOP_NEXT = 62
OpCode.GETVARARGS = 63
OpCode.DUPCLOSURE = 64
OpCode.PREPVARARGS = 65
OpCode.LOADKX = 66
OpCode.JUMPX = 67
OpCode.FASTCALL = 68
OpCode.COVERAGE = 69
OpCode.CAPTURE = 70
OpCode.SUBRK = 71
OpCode.DIVRK = 72
OpCode.FASTCALL1 = 73
OpCode.FASTCALL2 = 74
OpCode.FASTCALL2K = 75
OpCode.FORGPREP = 76
OpCode.JUMPXEQKNIL = 77
OpCode.JUMPXEQKB = 78
OpCode.JUMPXEQKN = 79
OpCode.JUMPXEQKS = 80
OpCode.IDIV = 81
OpCode.IDIVK = 82
OpCode.Name = {
[0] = "NOP", "BREAK", "LOADNIL", "LOADB", "LOADN", "LOADK", "MOVE",
"GETGLOBAL", "SETGLOBAL", "GETUPVAL", "SETUPVAL", "CLOSEUPVALS",
"GETIMPORT", "GETTABLE", "SETTABLE", "GETTABLEKS", "SETTABLEKS",
"GETTABLEN", "SETTABLEN", "NEWCLOSURE", "NAMECALL", "CALL",
"RETURN", "JUMP", "JUMPBACK", "JUMPIF", "JUMPIFNOT",
"JUMPIFEQ", "JUMPIFLE", "JUMPIFLT", "JUMPIFNOTEQ", "JUMPIFNOTLE",
"JUMPIFNOTLT", "ADD", "SUB", "MUL", "DIV", "MOD", "POW",
"ADDK", "SUBK", "MULK", "DIVK", "MODK", "POWK",
"AND", "OR", "ANDK", "ORK", "CONCAT", "NOT", "MINUS", "LENGTH",
"NEWTABLE", "DUPTABLE", "SETLIST", "FORNPREP", "FORNLOOP",
"FORGLOOP", "FORGPREP_INEXT", "DEP_FORGLOOP_INEXT",
"FORGPREP_NEXT", "DEP_FORGLOOP_NEXT", "GETVARARGS", "DUPCLOSURE",
"PREPVARARGS", "LOADKX", "JUMPX", "FASTCALL", "COVERAGE",
"CAPTURE", "SUBRK", "DIVRK", "FASTCALL1", "FASTCALL2",
"FASTCALL2K", "FORGPREP", "JUMPXEQKNIL", "JUMPXEQKB",
"JUMPXEQKN", "JUMPXEQKS", "IDIV", "IDIVK",
}
OpCode.Format = {}
for _, V in {0,1,2,3,6,7,8,9,10,11,13,14,15,16,17,18,20,21,22,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,60,63,65,66,68,70,71,72,73,74,75,81,82} do
OpCode.Format[V] = "BC"
end
for _, V in {4,5,12,19,23,24,25,26,27,28,29,30,31,32,54,56,57,58,59,61,62,64,76,77,78,79,80} do
OpCode.Format[V] = "AD"
end
for _, V in {67,69} do
OpCode.Format[V] = "E"
end
OpCode.HasAux = {}
for _, V in {7,8,12,15,16,20,27,28,29,30,31,32,53,55,58,60,66,74,75,77,78,79,80} do
OpCode.HasAux[V] = true
end
return OpCode