From 17c169707a1efc2d576e1b03d2956b0b4be4135d Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 17 Jan 2018 09:02:30 +0100 Subject: finished Math.jack --- projects/12/MathTest/Main.vm | 162 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 projects/12/MathTest/Main.vm (limited to 'projects/12/MathTest/Main.vm') 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 -- cgit v1.2.3