0063 42000000 sizecode (66)
0067 C0000000 [01] move 3 0 ; R3 := R0
006B 01010000 [02] loadk 4 0 ; R4 := 1
006F 42018000 [03] loadbool 5 1 0 ; R5 :=
true
0073 83010003 [04] loadnil 6 6 ; R6, := nil
0077 C4010000 [05] getupval 7 0 ; R7 := U0 , u1
007B 05420000 [06] getglobal 8 1 ; R8 := g1
007F C6018203 [07] gettable 7 7 8 ; R7 := R7[R8]
0083 07410000 [08] setglobal 4 1 ; g1 := R4
0087 48018000 [09] setupval 5 1 ; U1 := R5 , u2
008B 89018102 [10] settable 6 5 4 ; R6[R5] := R4
008F 0A420001 [11] newtable 8 2 1 ; R8 := {} , array=2,
hash
=1
0093 40020002 [12] move 9 4 ; R9 := R4
0097 80028002 [13] move 10 5 ; R10 := R5
009B 09420181 [14] settable 8 258 5 ; R8[
"x"
] := R5
009F 22420001 [15] setlist 8 2 1 ; R8[1 to 2] := R9 to R10
00A3 4B824004 [16] self 9 8 258 ; R10 := R8; R9 := R8[
"x"
]
00A7 5C820001 [17] call 9 2 2 ; R9 := R9(R10)
00AB 8C028101 [18] add 10 3 4 ; R10 := R3 + R4
00AF 8D420105 [19] sub 10 10 5 ; R10 := R10 - R5
00B3 8E820105 [20] mul 10 10 6 ; R10 := R10 * R6
00B7 8FC20105 [21] div 10 10 7 ; R10 := R10 / R7
00BB 90020205 [22] mod 10 10 8 ; R10 := R10 % R8
00BF 91420205 [23] pow 10 10 9 ; R10 := R10 ^ R9
00C3 92020005 [24] unm 10 10 ; R10 := -R10
00C7 D3020005 [25] not 11 10 ; R11 := not R10
00CB D4028005 [26] len 11 11 ; R11 :=
00CF 00030005 [27] move 12 10 ; R12 := R10
00D3 40038005 [28] move 13 11 ; R13 := R11
00D7 15430306 [29] concat 12 12 13 ; R12 := R12..R13
00DB 17400102 [30]
eq
0 4 5 ; R4 == R5, to [32]
if
true
00DF 16400080 [31] jmp 2 ; to [34]
00E3 58808102 [32] lt 1 5 6 ; R5 < R6, to [34]
if
false
00E7 16400080 [33] jmp 2 ; to [36]
00EB 19C00103 [34]
le
0 6 7 ; R6 <= R7, to [36]
if
true
00EF 16000280 [35] jmp 9 ; to [45]
00F3 41030000 [36] loadk 13 0 ; R13 := 1
00F7 81C30000 [37] loadk 14 3 ; R14 := 10
00FB C1030100 [38] loadk 15 4 ; R15 := 2
00FF 60830080 [39] forprep 13 3 ; R13 -= R15; PC := 43
0103 DA000000 [40]
test
3 0 ;
if
R3
then
to [42]
0107 16000080 [41] jmp 1 ; to [43]
010B C0008002 [42] move 3 5 ; R3 := R5
010F 5FC3FE7F [43] forloop 13 -4 ; R13 += R15;
if
R13 <= R1
4
then
begin PC := 40; R16 := R13 end
0113 16000280 [44] jmp 9 ; to [54]
0117 45430100 [45] getglobal 13 5 ; R13 := ipairs
011B 80030004 [46] move 14 8 ; R14 := R8
011F 5C030101 [47] call 13 2 4 ; R13 to R15 := R13(R14)
0123 16800080 [48] jmp 3 ; to [52]
0127 DB410004 [49] testset 7 8 1 ;
if
R8
then
R7 = R8
else
to [51]
012B 16000080 [50] jmp 1 ; to [52]
012F C0018004 [51] move 7 9 ; R7 := R9
0133 61830000 [52] tforloop 13 2 ; R16, R17 := R13(R14,R15);
if
R16 ~= nil
then
R15 := R16
else
PC := 54
0137 1680FE7F [53] jmp -5 ; to [49]
013B 65038001 [54] vararg 13 3 ; R13, R14 := ...
013F E4030000 [55] closure 15 0 ; R15 := closure(
function
[0]) 2 upvalues
0143 00008006 [56] move 0 13 ; R0 := R13
0147 00000007 [57] move 0 14 ; R0 := R14
014B 00048007 [58] move 16 15 ; R16 := R15
014F 45840100 [59] getglobal 17 6 ; R17 := k
0153 85C40100 [60] getglobal 18 7 ; R18 :=
v
0157 1C448001 [61] call 16 3 1 ; := R16(R17, R18)
015B 63030000 [62] close 13 ; SAVE all upvalues from R13 to
top
015F 45030200 [63] getglobal 13 8 ; R13 := f1
0163 5D038000 [64] tailcall 13 1 0 ; R13 to
top
:= R13()
0167 5E030000 [65]
return
13 0 ;
return
R13 to
top
016B 1E008000 [66]
return
0 1 ;
return