summaryrefslogtreecommitdiff
path: root/output/ex40.vaporm
blob: 5ee4e285db797049689f1dd5fc0fb070d35fa643 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
const functable_A
   :A_add_two
func Main [in 0, out 0, local 14]
  local[0] = $s0
  local[1] = $s1
  local[2] = $s2
  local[3] = $s3
  local[4] = $s4
  local[5] = $s5
  local[6] = $s6
  local[7] = $s7
  $s7 = HeapAllocZ(8 )
  [$s7+0] = :functable_A
  $s6 = $s7
  $s6 = $s6
  $s7 = [$s6+0]
  $s5 = [$s7+0]
  $s7 = 12
  local[8] = $t3
  local[9] = $t4
  local[10] = $t5
  local[11] = $t6
  local[12] = $t7
  local[13] = $t8
  $a0 = $s6
  $a1 = $s7
  call $s5
  $t3 = local[8]
  $t4 = local[9]
  $t5 = local[10]
  $t6 = local[11]
  $t7 = local[12]
  $t8 = local[13]
  $s4 = $v0
  $s7 = $s4
  PrintIntS($s7 )
  $s0 = local[0]
  $s1 = local[1]
  $s2 = local[2]
  $s3 = local[3]
  $s4 = local[4]
  $s5 = local[5]
  $s6 = local[6]
  $s7 = local[7]
  ret
func A_add_two [in 0, out 0, local 14]
  local[0] = $s0
  local[1] = $s1
  local[2] = $s2
  local[3] = $s3
  local[4] = $s4
  local[5] = $s5
  local[6] = $s6
  local[7] = $s7
  $s6 = $a0
  $s7 = $a1
  [$s6+4] = 2
  $s5 = $s7
  $s4 = [$s6+4]
  $s6 = Add($s5 $s4 )
  $s7 = $s6
  $s6 = $s7
  $v0 = $s6
  $s0 = local[0]
  $s1 = local[1]
  $s2 = local[2]
  $s3 = local[3]
  $s4 = local[4]
  $s5 = local[5]
  $s6 = local[6]
  $s7 = local[7]
  ret
func AllocArray [in 0, out 0, local 14]
  local[0] = $s0
  local[1] = $s1
  local[2] = $s2
  local[3] = $s3
  local[4] = $s4
  local[5] = $s5
  local[6] = $s6
  local[7] = $s7
  $s7 = $a0
  $s6 = MulS($s7 4 )
  $s6 = Add($s6 4 )
  $s5 = HeapAllocZ($s6 )
  [$s5+0] = $s7
  $v0 = $s5
  $s0 = local[0]
  $s1 = local[1]
  $s2 = local[2]
  $s3 = local[3]
  $s4 = local[4]
  $s5 = local[5]
  $s6 = local[6]
  $s7 = local[7]
  ret