我是靠谱客的博主 着急板凳,这篇文章主要介绍flash - AVM2 指令参考,现在分享给大家,希望可以做个参考。

flash的VM指令网上很少有介绍

指令列表

复制代码
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
// width jumps term thro calls push pop pop_ex use_l def_l name { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x00") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x01") }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("nop") }, // nop { 1, 0, 1, 1, 0, 0, 1, 0, 0, 0 N("throw") }, { 2, 0, 0, 1, 0, 1, 1, 1, 0, 0 N("getsuper") }, { 2, 0, 0, 1, 0, 0, 2, 1, 0, 0 N("setsuper") }, { 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 N("dxns") }, { 1, 0, 0, 1, 0, 0, 1, 0, 0, 0 N("dxnslate") }, { 2, 0, 0, 0, 0, 0, 0, 0, 1, 1 N("kill") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x09") }, // label { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x0A") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x0B") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifnlt") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifnle") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifngt") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifnge") }, { 2, 1, 1, 0, 0, 0, 0, 0, 0, 0 N("jump") }, // 0x10 { 2, 1, 0, 0, 0, 0, 1, 0, 0, 0 N("iftrue") }, { 2, 1, 0, 0, 0, 0, 1, 0, 0, 0 N("iffalse") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifeq") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifne") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("iflt") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifle") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifgt") }, { 2, 1, 0, 1, 0, 0, 2, 0, 0, 0 N("ifge") }, { 2, 1, 0, 0, 0, 0, 2, 0, 0, 0 N("ifstricteq") }, { 2, 1, 0, 0, 0, 0, 2, 0, 0, 0 N("ifstrictne") }, { 3, 1, 1, 0, 0, 0, 1, 0, 0, 0 N("lookupswitch") }, // NOTE, variable length beyond 3rd word { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 N("pushwith") }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("popscope") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("nextname") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("hasnext") }, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushnull") }, // 0x20 { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushundefined") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x22") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("nextvalue") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x24") }, // pushbyte { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x25") }, // pushshort { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushtrue") }, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushfalse") }, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushnan") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 N("pop") }, { 1, 0, 0, 0, 0, 2, 1, 0, 0, 0 N("dup") }, { 1, 0, 0, 0, 0, 2, 2, 0, 0, 0 N("swap") }, { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushstring") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x2D") }, // pushint { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x2E") }, // pushuint { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushdouble") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 N("pushscope") }, // 0x30 { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushnamespace") }, { 3, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("hasnext2") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x33") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x34") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("li8") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("li16") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("li32") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("lf32") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("lf64") }, { 1, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("si8") }, { 1, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("si16") }, { 1, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("si32") }, { 1, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("sf32") }, { 1, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("sf64") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x3F") }, { 2, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("newfunction") }, // 0x40 { 2, 0, 0, 1, 1, 1, 2, 0, 0, 0 N("call") }, { 2, 0, 0, 1, 1, 1, 1, 0, 0, 0 N("construct") }, { 3, 0, 0, 1, 1, 1, 1, 0, 0, 0 N("callmethod") }, { 3, 0, 0, 1, 1, 1, 1, 0, 0, 0 N("callstatic") }, { 3, 0, 0, 1, 1, 1, 1, 1, 0, 0 N("callsuper") }, { 3, 0, 0, 1, 1, 1, 1, 1, 0, 0 N("callproperty") }, { 1, 0, 1, 0, 0, 0, 0, 0, 0, 0 N("returnvoid") }, { 1, 0, 1, 0, 0, 0, 1, 0, 0, 0 N("returnvalue") }, { 2, 0, 0, 1, 1, 0, 1, 0, 0, 0 N("constructsuper") }, { 3, 0, 0, 1, 1, 1, 1, 1, 0, 0 N("constructprop") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x4B") }, // callsuperid { 3, 0, 0, 1, 1, 1, 1, 1, 0, 0 N("callproplex") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x4D") }, // callinterface { 3, 0, 0, 1, 1, 0, 1, 1, 0, 0 N("callsupervoid") }, { 3, 0, 0, 1, 1, 0, 1, 1, 0, 0 N("callpropvoid") }, { 1, 0, 0, 0, 0, 1, 1, 0, 0, 0 N("sxi1") }, { 1, 0, 0, 0, 0, 1, 1, 0, 0, 0 N("sxi8") }, { 1, 0, 0, 0, 0, 1, 1, 0, 0, 0 N("sxi16") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("applytype") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x54") }, { 2, 0, 0, 1, 1, 1, 0, 0, 0, 0 N("newobject") }, { 2, 0, 0, 1, 1, 1, 0, 0, 0, 0 N("newarray") }, { 1, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("newactivation") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("newclass") }, { 2, 0, 0, 1, 0, 1, 1, 1, 0, 0 N("getdescendants") }, { 2, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("newcatch") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x5B") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x5C") }, { 2, 0, 0, 1, 0, 1, 0, 1, 0, 0 N("findpropstrict") }, { 2, 0, 0, 1, 0, 1, 0, 1, 0, 0 N("findproperty") }, { 2, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("finddef") }, { 2, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("getlex") }, // 0x60 { 2, 0, 0, 1, 0, 0, 2, 1, 0, 0 N("setproperty") }, { 2, 0, 0, 0, 0, 1, 0, 0, 1, 0 N("getlocal") }, { 2, 0, 0, 0, 0, 0, 1, 0, 0, 1 N("setlocal") }, { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("getglobalscope") }, { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("getscopeobject") }, { 2, 0, 0, 1, 0, 1, 1, 1, 0, 0 N("getproperty") }, { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("getouterscope") }, { 2, 0, 0, 1, 0, 0, 2, 1, 0, 0 N("initproperty") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x69") }, { 2, 0, 0, 1, 0, 1, 1, 1, 0, 0 N("deleteproperty") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x6B") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("getslot") }, { 2, 0, 0, 1, 0, 0, 2, 0, 0, 0 N("setslot") }, { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("getglobalslot") }, { 2, 0, 0, 0, 0, 0, 1, 0, 0, 0 N("setglobalslot") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_s") }, // 0x70 { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("esc_xelem") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("esc_xattr") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_i") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_u") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_d") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_b") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("convert_o") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("checkfilter") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x79") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7A") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7B") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7C") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7D") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7E") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x7F") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("coerce") }, // 0x80 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x81") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x82") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x83") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x84") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("coerce_s") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("astype") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("astypelate") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x88") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("coerce_o") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8A") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8B") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8C") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8D") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8E") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x8F") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("negate") }, // 0x90 { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("increment") }, { 2, 0, 0, 1, 0, 0, 0, 0, 1, 1 N("inclocal") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("decrement") }, { 2, 0, 0, 1, 0, 0, 0, 0, 1, 1 N("declocal") }, { 1, 0, 0, 0, 0, 1, 1, 0, 0, 0 N("typeof") }, { 1, 0, 0, 0, 0, 1, 1, 0, 0, 0 N("not") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("bitnot") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x98") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x99") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9A") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9B") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9C") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9D") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9E") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x9F") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("add") }, // 0xA0 { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("subtract") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("multiply") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("divide") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("modulo") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("lshift") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("rshift") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("urshift") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("bitand") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("bitor") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("bitxor") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("equals") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("strictequals") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("lessthan") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("lessequals") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("greaterthan") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("greaterequals") }, // 0xB0 { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("instanceof") }, { 2, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("istype") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("istypelate") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("in") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xB5") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xB6") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xB7") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xB8") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xB9") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBA") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBB") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBC") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBD") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBE") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xBF") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("increment_i") }, // 0xC0 { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("decrement_i") }, { 2, 0, 0, 1, 0, 0, 0, 0, 1, 1 N("inclocal_i") }, { 2, 0, 0, 1, 0, 0, 0, 0, 1, 1 N("declocal_i") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("negate_i") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("add_i") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("subtract_i") }, { 1, 0, 0, 1, 0, 1, 2, 0, 0, 0 N("multiply_i") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xC8") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xC9") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCA") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCB") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCC") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCD") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCE") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xCF") }, { 1, 0, 0, 0, 0, 1, 0, 0, 1, 0 N("getlocal0") }, // 0xD0 { 1, 0, 0, 0, 0, 1, 0, 0, 1, 0 N("getlocal1") }, { 1, 0, 0, 0, 0, 1, 0, 0, 1, 0 N("getlocal2") }, { 1, 0, 0, 0, 0, 1, 0, 0, 1, 0 N("getlocal3") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 N("setlocal0") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 N("setlocal1") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 N("setlocal2") }, { 1, 0, 0, 0, 0, 0, 1, 0, 0, 1 N("setlocal3") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xD8") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xD9") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDA") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDB") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDC") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDD") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDE") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xDF") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE0") }, // 0xE0 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE1") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE2") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE3") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE4") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE5") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE6") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE7") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE8") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xE9") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xEA") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xEB") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xEC") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xED") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xEE") }, // abs_jump { 5, 0, 0, 1, 0, 0, 0, 0, 0, 0 N("debug") }, { 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 N("debugline") }, // 0xF0 { 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 N("debugfile") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF2") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF3") }, // timestamp { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF4") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF5") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF6") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF7") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF8") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xF9") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFA") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFB") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFC") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFD") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFE") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0xFF") }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("0x100") }, // 0x100 { 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("pushbits") }, { 3, 0, 0, 0, 0, 1, 0, 0, 0, 0 N("push_doublebits") }, { 2, 0, 0, 0, 0, 2, 0, 0, 1, 0 N("get2locals") }, { 2, 0, 0, 0, 0, 3, 0, 0, 1, 0 N("get3locals") }, { 2, 0, 0, 0, 0, 4, 0, 0, 1, 0 N("get4locals") }, { 2, 0, 0, 0, 0, 5, 0, 0, 1, 0 N("get5locals") }, { 2, 0, 0, 0, 0, 0, 0, 0, 0, 1 N("storelocal") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("add_ll") }, { 2, 0, 0, 1, 0, 0, 0, 0, 1, 1 N("add_set_lll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("subtract_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("multiply_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("divide_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("modulo_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitand_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitor_ll") }, { 2, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitxor_ll") }, // 0x110 { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("add_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("subtract_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("multiply_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("divide_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitand_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitor_lb") }, { 3, 0, 0, 1, 0, 1, 0, 0, 1, 0 N("bitxor_lb") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("iflt_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnlt_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifle_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnle_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifgt_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifngt_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifge_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnge_ll") }, { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifeq_ll") }, // 0x120 { 3, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifne_ll") }, { 3, 1, 0, 0, 0, 0, 0, 0, 1, 0 N("ifstricteq_ll") }, { 3, 1, 0, 0, 0, 0, 0, 0, 1, 0 N("ifstrictne_ll") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("iflt_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnlt_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifle_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnle_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifgt_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifngt_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifge_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifnge_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifeq_lb") }, { 4, 1, 0, 1, 0, 0, 0, 0, 1, 0 N("ifne_lb") }, { 4, 1, 0, 0, 0, 0, 0, 0, 1, 0 N("ifstricteq_lb") }, { 4, 1, 0, 0, 0, 0, 0, 0, 1, 0 N("ifstrictne_lb") }, { 1, 0, 0, 0, 0, 1, 2, 0, 0, 0 N("swap_pop") }, // 0x130 { 3, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("findpropglobal") }, { 3, 0, 0, 1, 0, 1, 0, 0, 0, 0 N("findpropglobalstrict") }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("debugenter") }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 N("debugexit") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("lix8") }, { 1, 0, 0, 1, 0, 1, 1, 0, 0, 0 N("lix16") },

摘自 corewopcodes.cpp, 完整源码在本人资源有下载


最后

以上就是着急板凳最近收集整理的关于flash - AVM2 指令参考的全部内容,更多相关flash内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部