summaryrefslogtreecommitdiff
path: root/base/MoreThan4.names.vaporm
blob: 366618c54db2ebb16f8d90f66fc62d268f27bca7 (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{t.0} = HeapAllocZ(4)
  [$t0{t.0}] = :vmt_MT4
  if $t0{t.0} goto :null1
  Error("null pointer")
null1:
  $t1{t.1} = [$t0{t.0}]
  $t1{t.1} = [$t1{t.1}]
  $a0 = $t0{t.0}
  $a1 = 1
  $a2 = 2
  $a3 = 3
  out[0] = 4
  out[1] = 5
  out[2] = 6
  call $t1{t.1}
  $t1{t.2} = $v0
  PrintIntS($t1{t.2})
  ret

func MT4.Start [in 3, out 3, local 0]
  $t0{this} = $a0
  $t1{p1} = $a1
  $t2{p2} = $a2
  $t3{p3} = $a3
  $t4{p4} = in[0]
  $t5{p5} = in[1]
  $t6{p6} = in[2]
  PrintIntS($t1{p1})
  PrintIntS($t2{p2})
  PrintIntS($t3{p3})
  PrintIntS($t4{p4})
  PrintIntS($t5{p5})
  PrintIntS($t6{p6})
  $t7{t.0} = [$t0{this}]
  $t7{t.0} = [$t7{t.0}+4]
  $a0 = $t0{this}
  $a1 = $t6{p6}
  $a2 = $t5{p5}
  $a3 = $t4{p4}
  out[0] = $t3{p3}
  out[1] = $t2{p2}
  out[2] = $t1{p1}
  call $t7{t.0}
  $t7{aux} = $v0
  $v0 = $t7{aux}
  ret

func MT4.Change [in 3, out 0, local 0]
  $t0{p1} = $a1
  $t1{p2} = $a2
  $t2{p3} = $a3
  $t3{p4} = in[0]
  $t4{p5} = in[1]
  $t5{p6} = in[2]
  PrintIntS($t0{p1})
  PrintIntS($t1{p2})
  PrintIntS($t2{p3})
  PrintIntS($t3{p4})
  PrintIntS($t4{p5})
  PrintIntS($t5{p6})
  $v0 = 0
  ret