/
f552.go
54 lines (52 loc) · 843 Bytes
/
f552.go
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
package internals
import (
"encoding/binary"
)
func f552(ctx *Context, l0 int32, l1 int32, l2 int32) int32 {
var l3 int32
_ = l3
var s0i32 int32
_ = s0i32
var s1i32 int32
_ = s1i32
var s2i32 int32
_ = s2i32
// get_global
s0i32 = ctx.G0
// const
s1i32 = 16
// binary: i32.sub
s0i32 = s0i32 - s1i32
// tee_local
l3 = s0i32
// set_global
ctx.G0 = s0i32
// get_local
s0i32 = l3
// get_local
s1i32 = l2
// store: i32.store
binary.LittleEndian.PutUint32(ctx.Mem[int(s0i32+12):], uint32(s1i32))
// get_local
s0i32 = l0
// get_local
s1i32 = l1
// get_local
s2i32 = l2
// call
s0i32 = f575(ctx, s0i32, s1i32, s2i32)
// set_local
l2 = s0i32
// get_local
s0i32 = l3
// const
s1i32 = 16
// binary: i32.add
s0i32 = s0i32 + s1i32
// set_global
ctx.G0 = s0i32
// get_local
s0i32 = l2
// return
return s0i32
}