diff options
| author | Yuchen Pei <me@ypei.me> | 2017-11-29 12:30:41 +0100 | 
|---|---|---|
| committer | Yuchen Pei <me@ypei.me> | 2017-11-29 12:30:41 +0100 | 
| commit | a000308104aab27c2dde9a306f1bc654b2db4806 (patch) | |
| tree | aecc628e14c1628b5714281437aba18680cdc27b /projects/08/FunctionCalls/SimpleFunction | |
first commit
Diffstat (limited to 'projects/08/FunctionCalls/SimpleFunction')
4 files changed, 76 insertions, 0 deletions
diff --git a/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.cmp b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.cmp new file mode 100644 index 0000000..c3ea911 --- /dev/null +++ b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.cmp @@ -0,0 +1,2 @@ +| RAM[0] | RAM[1] | RAM[2] | RAM[3] | RAM[4] |RAM[310]|
 +|    311 |    305 |    300 |   3010 |   4010 |   1196 |
 diff --git a/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.tst b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.tst new file mode 100644 index 0000000..c7b5905 --- /dev/null +++ b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.tst @@ -0,0 +1,29 @@ +// This file is part of www.nand2tetris.org
 +// and the book "The Elements of Computing Systems"
 +// by Nisan and Schocken, MIT Press.
 +// File name: projects/08/FunctionCalls/SimpleFunction/SimpleFunction.tst
 +
 +load SimpleFunction.asm,
 +output-file SimpleFunction.out,
 +compare-to SimpleFunction.cmp,
 +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 
 +            RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[310]%D1.6.1;
 +
 +set RAM[0] 317,
 +set RAM[1] 317,
 +set RAM[2] 310,
 +set RAM[3] 3000,
 +set RAM[4] 4000,
 +set RAM[310] 1234,
 +set RAM[311] 37,
 +set RAM[312] 1000,
 +set RAM[313] 305,
 +set RAM[314] 300,
 +set RAM[315] 3010,
 +set RAM[316] 4010,
 +
 +repeat 300 {
 +  ticktock;
 +}
 +
 +output;
 diff --git a/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.vm b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.vm new file mode 100644 index 0000000..d64a34f --- /dev/null +++ b/projects/08/FunctionCalls/SimpleFunction/SimpleFunction.vm @@ -0,0 +1,16 @@ +// This file is part of www.nand2tetris.org
 +// and the book "The Elements of Computing Systems"
 +// by Nisan and Schocken, MIT Press.
 +// File name: projects/08/FunctionCalls/SimpleFunction/SimpleFunction.vm
 +
 +// Performs a simple calculation and returns the result.
 +function SimpleFunction.test 2
 +push local 0
 +push local 1
 +add
 +not
 +push argument 0
 +add
 +push argument 1
 +sub
 +return
 diff --git a/projects/08/FunctionCalls/SimpleFunction/SimpleFunctionVME.tst b/projects/08/FunctionCalls/SimpleFunction/SimpleFunctionVME.tst new file mode 100644 index 0000000..c9267ee --- /dev/null +++ b/projects/08/FunctionCalls/SimpleFunction/SimpleFunctionVME.tst @@ -0,0 +1,29 @@ +// This file is part of www.nand2tetris.org
 +// and the book "The Elements of Computing Systems"
 +// by Nisan and Schocken, MIT Press.
 +// File name: projects/08/FunctionCalls/SimpleFunction/SimpleFunctionVME.tst
 +
 +load SimpleFunction.vm,
 +output-file SimpleFunction.out,
 +compare-to SimpleFunction.cmp,
 +output-list RAM[0]%D1.6.1 RAM[1]%D1.6.1 RAM[2]%D1.6.1 
 +            RAM[3]%D1.6.1 RAM[4]%D1.6.1 RAM[310]%D1.6.1;
 +
 +set sp 317,
 +set local 317,
 +set argument 310,
 +set this 3000,
 +set that 4000,
 +set argument[0] 1234,
 +set argument[1] 37,
 +set argument[2] 9,
 +set argument[3] 305,
 +set argument[4] 300,
 +set argument[5] 3010,
 +set argument[6] 4010,
 +
 +repeat 10 {
 +  vmstep;
 +}
 +
 +output;
  | 
