summaryrefslogtreecommitdiff
path: root/projects/12/MathTest/Main.vm
diff options
context:
space:
mode:
Diffstat (limited to 'projects/12/MathTest/Main.vm')
-rw-r--r--projects/12/MathTest/Main.vm162
1 files changed, 162 insertions, 0 deletions
diff --git a/projects/12/MathTest/Main.vm b/projects/12/MathTest/Main.vm
new file mode 100644
index 0000000..025f20c
--- /dev/null
+++ b/projects/12/MathTest/Main.vm
@@ -0,0 +1,162 @@
+function Main.main 1
+push constant 8000
+pop local 0
+push constant 0
+push local 0
+add
+push constant 2
+push constant 3
+call Math.multiply 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 1
+push local 0
+add
+push constant 0
+push local 0
+add
+pop pointer 1
+push that 0
+push constant 30
+neg
+call Math.multiply 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 2
+push local 0
+add
+push constant 1
+push local 0
+add
+pop pointer 1
+push that 0
+push constant 100
+call Math.multiply 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 3
+push local 0
+add
+push constant 1
+push constant 2
+push local 0
+add
+pop pointer 1
+push that 0
+call Math.multiply 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 4
+push local 0
+add
+push constant 3
+push local 0
+add
+pop pointer 1
+push that 0
+push constant 0
+call Math.multiply 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 5
+push local 0
+add
+push constant 9
+push constant 3
+call Math.divide 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 6
+push local 0
+add
+push constant 18000
+neg
+push constant 6
+call Math.divide 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 7
+push local 0
+add
+push constant 32766
+push constant 32767
+neg
+call Math.divide 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 8
+push local 0
+add
+push constant 9
+call Math.sqrt 1
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 9
+push local 0
+add
+push constant 32767
+call Math.sqrt 1
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 10
+push local 0
+add
+push constant 345
+push constant 123
+call Math.min 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 11
+push local 0
+add
+push constant 123
+push constant 345
+neg
+call Math.max 2
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 12
+push local 0
+add
+push constant 27
+call Math.abs 1
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 13
+push local 0
+add
+push constant 32767
+neg
+call Math.abs 1
+pop temp 0
+pop pointer 1
+push temp 0
+pop that 0
+push constant 0
+return