OSDN Git Service

add AVM2 instructions
[happyabc/happyabc.git] / swflib / instruction.txt
1 Add(0xA0) -> stack= ~-1
2 Add_i(0xC5) -> stack= ~-1
3 AsType(0x86) of multiname
4 AsTypeLate(0x87) -> stack = ~-1
5 BitAnd(0xa8) -> stack = ~-1
6 BitNot(0x91)
7 BitOr(0xa9) -> stack = ~-1
8 BitXor(0xaa)-> stack = ~-1
9 Call of u30(0x41) -> stack= 1-(2+_0)
10 CallMethod of method_ * u30(0x43) -> stack=~- _1
11 CallProperty of multiname * u30(0x46) -> stack= ~- _1
12 CallPropLex  of multiname * u30(0x4c) -> stack= ~- _1
13 CallPropVoid of multiname * u30(0x4f) -> stack= ~- (1 + _1)
14 CallStatic of method_ * u30(0x44) -> stack=~- _1
15 CallSuper of multiname * u30(0x45) -> stack= ~- _1
16 CallSuperVoid of multiname * u30(0x4e) -> stack= ~- (1 + _1)
17 CheckFilter(0x78)
18 Coerce(0x80)
19 Coerce_a(0x82)
20 Coerce_s(0x85)
21 Construct of u30(0x42) -> stack= ~-_0
22 ConstructProp  of multiname*u30(0x4a) -> stack= ~-_1
23 ConstructSuper of u30(0x49) -> stack= ~-(_0+1)
24 Convert_b(0x76)
25 Convert_d(0x75)
26 Convert_i(0x73)
27 Convert_o(0x77)
28 Convert_s(0x74)
29 Convert_u(0x77)
30 Debug of u8 * c_string * u8 * u30(0xef)
31 DebugFile of c_string(0xf1)
32 DebugLine of u30(0xf0)
33 DecLocal of u30(0x94)
34 DecLocal_i of u30(0xc3)
35 Decrement(0x93)
36 Decrement_i(0xc1)
37 DeleteProperty of multiname(0x6a)
38 Divide(0xA3) -> stack= ~-1
39 Dup(0x2a) -> stack= 2
40 Dxns of c_string(0x06)
41 DxnsLate(0x07) -> stack = ~-1
42 Equals(0xAB)-> stack= ~-1
43 EscXAttr(0x72)
44 EscXElem(0x71)
45 FindProperty of multiname(0x5D) -> stack=1
46 FindPropStrict of multiname(0x5D) -> stack=1
47 GetDescendants of multiname(0x59)
48 GetGlobalScope(0x64)       -> stack=1
49 GetGlobalSlot of u30(0x6e) -> stack=1
50 GetLex       of multiname(0x60) -> stack=1
51 GetLocal of u30(0x62) -> stack=1;count=(_0+1)
52 GetLocal_0(0xD0) -> stack=1;count=1
53 GetLocal_1(0xD1) -> stack=1;count=2
54 GetLocal_2(0xD2) -> stack=1;count=3
55 GetLocal_3(0xD3) -> stack=1;count=4
56 GetProperty  of multiname(0x66)
57 GetScopeObject of u8(0x65) -> stack=1
58 GetSlot of u30(0x6c)
59 GetSuper of multiname(0x04)
60 GreaterEquals(0xb0) -> stack= ~-1
61 GreaterThan(0xaf) -> stack= ~-1
62 HasNext(0x1f) -> stack=~-1
63 HasNext2 of u30* u30(0x32) -> stack=1
64 IfEq of label(0x13) -> stack= ~-1
65 IfFalse of label(0x12) -> stack= ~-1
66 IfGe of label(0x18) -> stack= ~-1
67 IfGt of label(0x17) -> stack= ~-1
68 IfLe of label(0x16) -> stack= ~-1
69 IfLt of label(0x15) -> stack= ~-1
70 IfNe of label(0x14) -> stack= ~-1
71 IfNge of label(0x0f) -> stack= ~-1
72 IfNgt of label(0x0e) -> stack= ~-1
73 IfNle of label(0x0d) -> stack= ~-1
74 IfNlt of label(0x0c) -> stack= ~-1
75 IfStrictEq of label(0x19) -> stack= ~-1
76 IfStrictNe of label(0x1a) -> stack= ~-1
77 IfTrue of label(0x11) -> stack= ~-1
78 In(0xb4) -> stack = ~-1
79 IncLocal of u30(0x92)
80 IncLocal_i of u30(0xc2)
81 Increment(0x91)
82 Increment_i(0xc0)
83 InitProperty of multiname(0x68) -> stack= ~-2
84 InstanceOf(0xb1) -> stack = ~-1
85 IsType of multiname(0xb2)
86 IsTypeLate(0xb3) -> stack=~-1
87 Jump  of label(0x10) ->
88 Kill of u30(0x08)
89 Label of label_def(0x09) -> prefix=true
90 LessEquals(0xae) -> stack= ~-1
91 LessThan(0xad) -> stack= ~-1
92 # lookupswitch
93 LShift(0xa5) -> stack=~-1
94 Modulo(0xA4) -> stack= ~-1
95 Multiply(0xA2) -> stack= ~-1
96 Multiply_i(0xC7)-> stack= ~-1
97 Negate(0x90)
98 Negate_i(0xc4)
99 NewActivation(0x57) -> stack=1
100 NewArray of u30(0x56)
101 # newcatch
102 NewClass of class_(0x58)
103 NewFunction of method_(0x40) -> stack=1
104 NewObject of u30(0x55) -> stack=1-_0
105 NextName(0x1e) -> stack=~-1
106 NextValue(0x23) -> stack=~-1
107 Nop(0x02)
108 Not(0x96)
109 Pop(0x29) -> stack= ~-1
110 PopScope(0x1d) -> scope= ~-1
111 PushByte of u8(0x24)             -> stack=1
112 PushDouble    of c_float(0x2F)     -> stack=1
113 PushFalse(0x27)                  -> stack=1
114 PushInt       of c_int(0x2D)       -> stack=1
115 PushNaN(0x28)                    -> stack=1
116 PushNamespace of namespace(0x31) -> stack=1
117 PushNull(0x20)                   -> stack=1
118 PushScope(0x30)            -> stack= ~-1; scope=1
119 PushShort of u30(0x25)           -> stack=1
120 PushString    of c_string(0x2C)    -> stack=10
121 PushTrue(0x26)                   -> stack=1
122 PushUInt      of c_uint(0x2E)      -> stack=1
123 PushUndefined(0x21)              -> stack=1
124 PushWith(0x1c)             -> stack= ~-1; scope=1
125 ReturnValue(0x48) -> stack= ~-1
126 ReturnVoid(0x47)
127 RShift(0xa6) -> stack = ~-1
128 SetGlobalSlot of u30(0x6f) -> stack= ~-1
129 SetLocal of u30(0x63) -> stack=1
130 SetLocal_0(0xD4) -> stack=1
131 SetLocal_1(0xD5) -> stack=1
132 SetLocal_2(0xD6) -> stack=1
133 SetLocal_3(0xD7) -> stack=1
134 SetProperty  of multiname(0x61) -> stack= ~-2
135 SetSlot of u30(0x6d) ->stack= ~-2
136 SetSuper of multiname(0x05) -> stack=~-2
137 StrictEquals(0xAC)-> stack= ~-1
138 Subtract(0xA1)-> stack= ~-1
139 Subtract_i(0xC6) -> stack= ~-1
140 Swap(0x2b)
141 # throw
142 TypeOf(0x95)
143 URShift(0xa7)->stack=~-2