blob: bf549b263d060613487f87ed78074183e41db3d9 (
plain)
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
|
const vmt_MT4
:MT4.Start
:MT4.Change
func Main [in 0, out 3, local 0]
$t0 = HeapAllocZ(4)
[$t0] = :vmt_MT4
if $t0 goto :null1
Error("null pointer")
null1:
$t1 = [$t0]
$t1 = [$t1]
$a0 = $t0
$a1 = 1
$a2 = 2
$a3 = 3
out[0] = 4
out[1] = 5
out[2] = 6
call $t1
$t1 = $v0
PrintIntS($t1)
ret
func MT4.Start [in 3, out 3, local 0]
$t0 = $a0
$t1 = $a1
$t2 = $a2
$t3 = $a3
$t4 = in[0]
$t5 = in[1]
$t6 = in[2]
PrintIntS($t1)
PrintIntS($t2)
PrintIntS($t3)
PrintIntS($t4)
PrintIntS($t5)
PrintIntS($t6)
$t7 = [$t0]
$t7 = [$t7+4]
$a0 = $t0
$a1 = $t6
$a2 = $t5
$a3 = $t4
out[0] = $t3
out[1] = $t2
out[2] = $t1
call $t7
$t7 = $v0
$v0 = $t7
ret
func MT4.Change [in 3, out 0, local 0]
$t0 = $a1
$t1 = $a2
$t2 = $a3
$t3 = in[0]
$t4 = in[1]
$t5 = in[2]
PrintIntS($t0)
PrintIntS($t1)
PrintIntS($t2)
PrintIntS($t3)
PrintIntS($t4)
PrintIntS($t5)
$v0 = 0
ret
|