diff options
author | bd-912 <bdunahu@colostate.edu> | 2024-04-14 02:36:20 -0600 |
---|---|---|
committer | bd-912 <bdunahu@colostate.edu> | 2024-04-14 02:36:20 -0600 |
commit | bd59acec960bf9e2ad93f0d1caa11a65613ee168 (patch) | |
tree | 3ef38b63578eaaea2b8b8e929d00195e57ab8834 /vaporize/tests/Factorial.names.vaporm | |
parent | ee60d3f9a32f75c628961f40a9bf4f1bf387ac06 (diff) |
Add HW4 Test Files
Diffstat (limited to 'vaporize/tests/Factorial.names.vaporm')
-rw-r--r-- | vaporize/tests/Factorial.names.vaporm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vaporize/tests/Factorial.names.vaporm b/vaporize/tests/Factorial.names.vaporm new file mode 100644 index 0000000..7c2c2d7 --- /dev/null +++ b/vaporize/tests/Factorial.names.vaporm @@ -0,0 +1,40 @@ +const vmt_Fac + :Fac.ComputeFac + +func Main [in 0, out 0, local 0] + $t0{t.0} = HeapAllocZ(4) + [$t0{t.0}] = :vmt_Fac + 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 = 10 + call $t1{t.1} + $t1{t.2} = $v0 + PrintIntS($t1{t.2}) + ret + +func Fac.ComputeFac [in 0, out 0, local 1] + local[0] = $s0 + $t0{this} = $a0 + $s0{num} = $a1 + $t1{t.0} = LtS($s0{num} 1) + if0 $t1{t.0} goto :if1_else + $t1{num_aux} = 1 + goto :if1_end +if1_else: + $t2{t.1} = [$t0{this}] + $t2{t.1} = [$t2{t.1}] + $t3{t.2} = Sub($s0{num} 1) + $a0 = $t0{this} + $a1 = $t3{t.2} + call $t2{t.1} + $t3{t.3} = $v0 + $t1{num_aux} = MulS($s0{num} $t3{t.3}) +if1_end: + $v0 = $t1{num_aux} + $s0 = local[0] + ret + |