aboutsummaryrefslogtreecommitdiff
path: root/projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
committerYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
commitd3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 (patch)
treed58df9ec2480e2a9ec6240f9c797f83d1a0b1056 /projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm
parent3571f998b28fbc8d9250ba04c983935f10a16c15 (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/FibonacciSeries/FibonacciSeries.vm')
-rw-r--r--projects/08/ProgramFlow/FibonacciSeries/FibonacciSeries.vm49
1 files changed, 0 insertions, 49 deletions
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