aboutsummaryrefslogtreecommitdiff
path: root/projects/08/ProgramFlow
diff options
context:
space:
mode:
Diffstat (limited to 'projects/08/ProgramFlow')
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoop.asm133
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoop.cmp2
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoop.out2
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoop.tst20
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoop.vm22
-rw-r--r--projects/08/ProgramFlow/BasicLoop/BasicLoopVME.tst20
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.asm234
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.cmp2
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.out2
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.tst22
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm49
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries1.asm241
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeriesVME.tst22
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;