diff options
author | Yuchen Pei <me@ypei.me> | 2018-01-17 09:02:30 +0100 |
---|---|---|
committer | Yuchen Pei <me@ypei.me> | 2018-01-17 09:02:30 +0100 |
commit | 17c169707a1efc2d576e1b03d2956b0b4be4135d (patch) | |
tree | a6d0c38030f2221b2a20c7230b7e0614e160ad07 /projects/12/MathTest/Main.vm | |
parent | 225da72f92b9e0b5caded3e0b85de30633af55fb (diff) |
finished Math.jack
Diffstat (limited to 'projects/12/MathTest/Main.vm')
-rw-r--r-- | projects/12/MathTest/Main.vm | 162 |
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 |