• R/O
  • HTTP
  • SSH
  • HTTPS

happyabc: Commit


Commit MetaInfo

Revision2cb541159bcc32ae4d033793dea6e6828566d503 (tree)
Time2010-01-03 16:34:14
Authormzp <mzpppp@gmai...>
Commitermzp

Log Message

add AVM2 instructions

Change Summary

Incremental Difference

--- a/swflib/instruction.txt
+++ b/swflib/instruction.txt
@@ -1,49 +1,50 @@
1-
2-
3-
4-
5-
6-
7-
8-
9-
10-
11-
12-
13-
14-
15-# Arith
16-# Class
17-# Conversion
18-# Debug
19-# FunctionCall
20-# Jump/Conditonal Jump
21-# Literal
22-# Predicator
23-# Register
24-# Scope
25-# Slot
261 Add(0xA0) -> stack= ~-1
272 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
289 Call of u30(0x41) -> stack= 1-(2+_0)
29-CallPropLex of multiname * u30(0x4c) -> stack= 1-_1
30-CallProperty of multiname * u30(0x46) -> stack= 1-_1
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)
3118 Coerce(0x80)
3219 Coerce_a(0x82)
3320 Coerce_s(0x85)
21+Construct of u30(0x42) -> stack= ~-_0
3422 ConstructProp of multiname*u30(0x4a) -> stack= ~-_1
3523 ConstructSuper of u30(0x49) -> stack= ~-(_0+1)
3624 Convert_b(0x76)
3725 Convert_d(0x75)
3826 Convert_i(0x73)
27+Convert_o(0x77)
3928 Convert_s(0x74)
4029 Convert_u(0x77)
30+Debug of u8 * c_string * u8 * u30(0xef)
4131 DebugFile of c_string(0xf1)
4232 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)
4338 Divide(0xA3) -> stack= ~-1
4439 Dup(0x2a) -> stack= 2
40+Dxns of c_string(0x06)
41+DxnsLate(0x07) -> stack = ~-1
4542 Equals(0xAB)-> stack= ~-1
43+EscXAttr(0x72)
44+EscXElem(0x71)
45+FindProperty of multiname(0x5D) -> stack=1
4646 FindPropStrict of multiname(0x5D) -> stack=1
47+GetDescendants of multiname(0x59)
4748 GetGlobalScope(0x64) -> stack=1
4849 GetGlobalSlot of u30(0x6e) -> stack=1
4950 GetLex of multiname(0x60) -> stack=1
@@ -55,8 +56,11 @@ GetLocal_3(0xD3) -> stack=1;count=4
5556 GetProperty of multiname(0x66)
5657 GetScopeObject of u8(0x65) -> stack=1
5758 GetSlot of u30(0x6c)
59+GetSuper of multiname(0x04)
5860 GreaterEquals(0xb0) -> stack= ~-1
5961 GreaterThan(0xaf) -> stack= ~-1
62+HasNext(0x1f) -> stack=~-1
63+HasNext2 of u30* u30(0x32) -> stack=1
6064 IfEq of label(0x13) -> stack= ~-1
6165 IfFalse of label(0x12) -> stack= ~-1
6266 IfGe of label(0x18) -> stack= ~-1
@@ -71,20 +75,37 @@ IfNlt of label(0x0c) -> stack= ~-1
7175 IfStrictEq of label(0x19) -> stack= ~-1
7276 IfStrictNe of label(0x1a) -> stack= ~-1
7377 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)
7483 InitProperty of multiname(0x68) -> stack= ~-2
84+InstanceOf(0xb1) -> stack = ~-1
85+IsType of multiname(0xb2)
86+IsTypeLate(0xb3) -> stack=~-1
7587 Jump of label(0x10) ->
88+Kill of u30(0x08)
7689 Label of label_def(0x09) -> prefix=true
7790 LessEquals(0xae) -> stack= ~-1
7891 LessThan(0xad) -> stack= ~-1
92+# lookupswitch
93+LShift(0xa5) -> stack=~-1
7994 Modulo(0xA4) -> stack= ~-1
8095 Multiply(0xA2) -> stack= ~-1
8196 Multiply_i(0xC7)-> stack= ~-1
97+Negate(0x90)
98+Negate_i(0xc4)
8299 NewActivation(0x57) -> stack=1
83100 NewArray of u30(0x56)
101+# newcatch
84102 NewClass of class_(0x58)
85103 NewFunction of method_(0x40) -> stack=1
86104 NewObject of u30(0x55) -> stack=1-_0
105+NextName(0x1e) -> stack=~-1
106+NextValue(0x23) -> stack=~-1
87107 Nop(0x02)
108+Not(0x96)
88109 Pop(0x29) -> stack= ~-1
89110 PopScope(0x1d) -> scope= ~-1
90111 PushByte of u8(0x24) -> stack=1
@@ -103,6 +124,7 @@ PushUndefined(0x21) -> stack=1
103124 PushWith(0x1c) -> stack= ~-1; scope=1
104125 ReturnValue(0x48) -> stack= ~-1
105126 ReturnVoid(0x47)
127+RShift(0xa6) -> stack = ~-1
106128 SetGlobalSlot of u30(0x6f) -> stack= ~-1
107129 SetLocal of u30(0x63) -> stack=1
108130 SetLocal_0(0xD4) -> stack=1
@@ -111,7 +133,11 @@ SetLocal_2(0xD6) -> stack=1
111133 SetLocal_3(0xD7) -> stack=1
112134 SetProperty of multiname(0x61) -> stack= ~-2
113135 SetSlot of u30(0x6d) ->stack= ~-2
136+SetSuper of multiname(0x05) -> stack=~-2
114137 StrictEquals(0xAC)-> stack= ~-1
115138 Subtract(0xA1)-> stack= ~-1
116139 Subtract_i(0xC6) -> stack= ~-1
117140 Swap(0x2b)
141+# throw
142+TypeOf(0x95)
143+URShift(0xa7)->stack=~-2
Show on old repository browser