diff options
| author | Yuchen Pei <me@ypei.me> | 2018-01-20 15:41:49 +0100 | 
|---|---|---|
| committer | Yuchen Pei <me@ypei.me> | 2018-01-20 15:41:49 +0100 | 
| commit | d3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 (patch) | |
| tree | d58df9ec2480e2a9ec6240f9c797f83d1a0b1056 /projects/08/ProgramFlow | |
| parent | 3571f998b28fbc8d9250ba04c983935f10a16c15 (diff) | |
rearranged the dir for github
- removed tools and pdfs
- rearranged the projects dirs
- added md files
- other minor changes
Diffstat (limited to 'projects/08/ProgramFlow')
13 files changed, 0 insertions, 771 deletions
diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoop.asm b/projects/08/ProgramFlow/BasicLoop/BasicLoop.asm deleted file mode 100644 index b2e42a7..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoop.asm +++ /dev/null @@ -1,133 +0,0 @@ -@0 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@LCL -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -($LOOP_START) -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@LCL -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M+D -@SP -A=M -M=D -@SP -M=M+1 -@LCL -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M-D -@SP -A=M -M=D -@SP -M=M+1 -@ARG -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@$LOOP_START -D;JNE -@LCL -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoop.cmp b/projects/08/ProgramFlow/BasicLoop/BasicLoop.cmp deleted file mode 100644 index 00d35d2..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoop.cmp +++ /dev/null @@ -1,2 +0,0 @@ -| RAM[0] |RAM[256]|
 -|    257 |      6 |
 diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoop.out b/projects/08/ProgramFlow/BasicLoop/BasicLoop.out deleted file mode 100644 index 1786c7c..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoop.out +++ /dev/null @@ -1,2 +0,0 @@ -| RAM[0] |RAM[256]| -|    257 |      6 | diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoop.tst b/projects/08/ProgramFlow/BasicLoop/BasicLoop.tst deleted file mode 100644 index 50ca118..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoop.tst +++ /dev/null @@ -1,20 +0,0 @@ -// 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/ProgramFlow/BasicLoop/BasicLoop.tst
 -
 -load BasicLoop.asm,
 -output-file BasicLoop.out,
 -compare-to BasicLoop.cmp,
 -output-list RAM[0]%D1.6.1 RAM[256]%D1.6.1;
 -
 -set RAM[0] 256,
 -set RAM[1] 300,
 -set RAM[2] 400,
 -set RAM[400] 3,
 -
 -repeat 600 {
 -  ticktock;
 -}
 -
 -output;
 diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoop.vm b/projects/08/ProgramFlow/BasicLoop/BasicLoop.vm deleted file mode 100644 index 2d63f13..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoop.vm +++ /dev/null @@ -1,22 +0,0 @@ -// 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/ProgramFlow/BasicLoop/BasicLoop.vm
 -
 -// Computes the sum 1 + 2 + ... + argument[0] and pushes the 
 -// result onto the stack. Argument[0] is initialized by the test 
 -// script before this code starts running.
 -push constant 0    
 -pop local 0         // initializes sum = 0
 -label LOOP_START
 -push argument 0    
 -push local 0
 -add
 -pop local 0	        // sum = sum + counter
 -push argument 0
 -push constant 1
 -sub
 -pop argument 0      // counter--
 -push argument 0
 -if-goto LOOP_START  // If counter > 0, goto LOOP_START
 -push local 0
 diff --git a/projects/08/ProgramFlow/BasicLoop/BasicLoopVME.tst b/projects/08/ProgramFlow/BasicLoop/BasicLoopVME.tst deleted file mode 100644 index 237fdff..0000000 --- a/projects/08/ProgramFlow/BasicLoop/BasicLoopVME.tst +++ /dev/null @@ -1,20 +0,0 @@ -// 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/ProgramFlow/BasicLoop/BasicLoopVME.tst
 -
 -load BasicLoop.vm,
 -output-file BasicLoop.out,
 -compare-to BasicLoop.cmp,
 -output-list RAM[0]%D1.6.1 RAM[256]%D1.6.1;
 -
 -set sp 256,
 -set local 300,
 -set argument 400,
 -set argument[0] 3,
 -
 -repeat 33 {
 -  vmstep;
 -}
 -
 -output;
 diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.asm b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.asm deleted file mode 100644 index 3436cef..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.asm +++ /dev/null @@ -1,234 +0,0 @@ -@ARG -D=M -@1 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@4 -M=D -@0 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@1 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@2 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M-D -@SP -A=M -M=D -@SP -M=M+1 -@ARG -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -($MAIN_LOOP_START) -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@$COMPUTE_ELEMENT -D;JNE -@$END_PROGRAM -0;JMP -($COMPUTE_ELEMENT) -@THAT -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@1 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M+D -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@2 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@4 -D=M -@SP -A=M -M=D -@SP -M=M+1 -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M+D -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@4 -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M-D -@SP -A=M -M=D -@SP -M=M+1 -@ARG -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@$MAIN_LOOP_START -0;JMP -($END_PROGRAM) diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.cmp b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.cmp deleted file mode 100644 index c262a4b..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.cmp +++ /dev/null @@ -1,2 +0,0 @@ -|RAM[3000]|RAM[3001]|RAM[3002]|RAM[3003]|RAM[3004]|RAM[3005]|
 -|      0  |      1  |      1  |      2  |      3  |      5  |
 diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.out b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.out deleted file mode 100644 index 304e7c1..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.out +++ /dev/null @@ -1,2 +0,0 @@ -|RAM[3000]|RAM[3001]|RAM[3002]|RAM[3003]|RAM[3004]|RAM[3005]| -|      0  |      1  |      1  |      2  |      3  |      5  | diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.tst b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.tst deleted file mode 100644 index 07df2b9..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.tst +++ /dev/null @@ -1,22 +0,0 @@ -// 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/ProgramFlow/FibonacciSeries/FibonacciSeries.tst
 -
 -load FibonacciSeries.asm,
 -output-file FibonacciSeries.out,
 -compare-to FibonacciSeries.cmp,
 -output-list RAM[3000]%D1.6.2 RAM[3001]%D1.6.2 RAM[3002]%D1.6.2 
 -            RAM[3003]%D1.6.2 RAM[3004]%D1.6.2 RAM[3005]%D1.6.2;
 -
 -set RAM[0] 256,
 -set RAM[1] 300,
 -set RAM[2] 400,
 -set RAM[400] 6,
 -set RAM[401] 3000,
 -
 -repeat 1100 {
 -  ticktock;
 -}
 -
 -output;
 diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm deleted file mode 100644 index 6a643b6..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm +++ /dev/null @@ -1,49 +0,0 @@ -// 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/ProgramFlow/FibonacciSeries/FibonacciSeries.vm
 -
 -// Puts the first argument[0] elements of the Fibonacci series
 -// in the memory, starting in the address given in argument[1].
 -// Argument[0] and argument[1] are initialized by the test script 
 -// before this code starts running.
 -
 -push argument 1
 -pop pointer 1           // that = argument[1]
 -
 -push constant 0
 -pop that 0              // first element in the series = 0
 -push constant 1
 -pop that 1              // second element in the series = 1
 -
 -push argument 0
 -push constant 2
 -sub
 -pop argument 0          // num_of_elements -= 2 (first 2 elements are set)
 -
 -label MAIN_LOOP_START
 -
 -push argument 0
 -if-goto COMPUTE_ELEMENT // if num_of_elements > 0, goto COMPUTE_ELEMENT
 -goto END_PROGRAM        // otherwise, goto END_PROGRAM
 -
 -label COMPUTE_ELEMENT
 -
 -push that 0
 -push that 1
 -add
 -pop that 2              // that[2] = that[0] + that[1]
 -
 -push pointer 1
 -push constant 1
 -add
 -pop pointer 1           // that += 1
 -
 -push argument 0
 -push constant 1
 -sub
 -pop argument 0          // num_of_elements--
 -
 -goto MAIN_LOOP_START
 -
 -label END_PROGRAM
 diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries1.asm b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries1.asm deleted file mode 100644 index 68a4c8e..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries1.asm +++ /dev/null @@ -1,241 +0,0 @@ -@256 -D=A -@SP -M=D -@ARG -D=M -@1 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@4 -M=D -@0 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@1 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@2 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M-D -@SP -A=M -M=D -@SP -M=M+1 -@ARG -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -(MAIN_LOOP_START) -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@COMPUTE_ELEMENT -D;JNE -@END_PROGRAM -0;JMP -(COMPUTE_ELEMENT) -@THAT -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@1 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M+D -@SP -A=M -M=D -@SP -M=M+1 -@THAT -D=M -@2 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@4 -D=M -@SP -A=M -M=D -@SP -M=M+1 -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M+D -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@4 -M=D -@ARG -D=M -@0 -D=A+D -A=D -D=M -@SP -A=M -M=D -@SP -M=M+1 -@1 -D=A -@SP -A=M -M=D -@SP -M=M+1 -@SP -AM=M-1 -D=M -@SP -AM=M-1 -D=M-D -@SP -A=M -M=D -@SP -M=M+1 -@ARG -D=M -@0 -D=A+D -@R13 -M=D -@SP -AM=M-1 -D=M -@R13 -A=M -M=D -@MAIN_LOOP_START -0;JMP -(END_PROGRAM) -(END) -@END -0;JMP
\ No newline at end of file diff --git a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst b/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst deleted file mode 100644 index 243f31b..0000000 --- a/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst +++ /dev/null @@ -1,22 +0,0 @@ -// 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/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst
 -
 -load FibonacciSeries.vm,
 -output-file FibonacciSeries.out,
 -compare-to FibonacciSeries.cmp,
 -output-list RAM[3000]%D1.6.2 RAM[3001]%D1.6.2 RAM[3002]%D1.6.2 
 -            RAM[3003]%D1.6.2 RAM[3004]%D1.6.2 RAM[3005]%D1.6.2;
 -
 -set sp 256,
 -set local 300,
 -set argument 400,
 -set argument[0] 6,
 -set argument[1] 3000,
 -
 -repeat 73 {
 -  vmstep;
 -}
 -
 -output;
  | 
