aboutsummaryrefslogtreecommitdiff
path: root/projects/04
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/04
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/04')
-rw-r--r--projects/04/fill/Fill.asm76
-rw-r--r--projects/04/fill/Fill.tst11
-rw-r--r--projects/04/fill/FillAutomatic.cmp4
-rw-r--r--projects/04/fill/FillAutomatic.out4
-rw-r--r--projects/04/fill/FillAutomatic.tst37
-rw-r--r--projects/04/mult/Mult.asm33
-rw-r--r--projects/04/mult/Mult.cmp7
-rw-r--r--projects/04/mult/Mult.out7
-rw-r--r--projects/04/mult/Mult.tst74
9 files changed, 0 insertions, 253 deletions
diff --git a/projects/04/fill/Fill.asm b/projects/04/fill/Fill.asm
deleted file mode 100644
index 16d63e2..0000000
--- a/projects/04/fill/Fill.asm
+++ /dev/null
@@ -1,76 +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/04/Fill.asm
-
-// Runs an infinite loop that listens to the keyboard input.
-// When a key is pressed (any key), the program blackens the screen,
-// i.e. writes "black" in every pixel;
-// the screen should remain fully black as long as the key is pressed.
-// When no key is pressed, the program clears the screen, i.e. writes
-// "white" in every pixel;
-// the screen should remain fully clear as long as no key is pressed.
-
-// Put your code here.
-
-(BEGIN)
-@KBD
-D=M
-
-@BLACK
-D;JNE
-
-@WHITE
-0;JMP
-
-(BLACK)
-@8191
-D=A
-@i
-M=D
-
-(LOOPB)
-@i
-D=M
-@j
-M=D
-@SCREEN
-D=A
-@j
-M=M+D
-A=M
-M=-1
-@i
-M=M-1
-D=M
-@LOOPB
-D+1;JGT
-
-@BEGIN
-0;JMP
-
-(WHITE)
-@8191
-D=A
-@i
-M=D
-
-(LOOPW)
-@i
-D=M
-@j
-M=D
-@SCREEN
-D=A
-@j
-M=M+D
-A=M
-M=0
-@i
-M=M-1
-D=M
-@LOOPW
-D+1;JGT
-
-@BEGIN
-0;JMP
diff --git a/projects/04/fill/Fill.tst b/projects/04/fill/Fill.tst
deleted file mode 100644
index e8bb385..0000000
--- a/projects/04/fill/Fill.tst
+++ /dev/null
@@ -1,11 +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/04/fill/Fill.tst
-
-load Fill.asm;
-echo "Make sure that 'No Animation' is selected. Then, select the keyboard, press any key for some time, and inspect the screen.";
-
-repeat {
- ticktock;
-}
diff --git a/projects/04/fill/FillAutomatic.cmp b/projects/04/fill/FillAutomatic.cmp
deleted file mode 100644
index a71db27..0000000
--- a/projects/04/fill/FillAutomatic.cmp
+++ /dev/null
@@ -1,4 +0,0 @@
-|RAM[16384]|RAM[17648]|RAM[18349]|RAM[19444]|RAM[20771]|RAM[21031]|RAM[22596]|RAM[23754]|RAM[24575]|
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
-| -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
diff --git a/projects/04/fill/FillAutomatic.out b/projects/04/fill/FillAutomatic.out
deleted file mode 100644
index a71db27..0000000
--- a/projects/04/fill/FillAutomatic.out
+++ /dev/null
@@ -1,4 +0,0 @@
-|RAM[16384]|RAM[17648]|RAM[18349]|RAM[19444]|RAM[20771]|RAM[21031]|RAM[22596]|RAM[23754]|RAM[24575]|
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
-| -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 | -1 |
-| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
diff --git a/projects/04/fill/FillAutomatic.tst b/projects/04/fill/FillAutomatic.tst
deleted file mode 100644
index fbc29a0..0000000
--- a/projects/04/fill/FillAutomatic.tst
+++ /dev/null
@@ -1,37 +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/04/fill/FillAutomatic
-
-// This script can be used to test the Fill program automatically,
-// rather than interactively. Specifically, the script sets the keyboard
-// memory map (RAM[24576]) to 0, 1, and then again to 0. This simulates the
-// acts of leaving the keyboard untouched, pressing some key, and then releasing
-// the key. After each on of these simulated events, the script outputs the values
-// of some selected registers from the screen memory map (RAM[16384]-RAM[24576]).
-// This is done in order to test that these registers are set to 000...0 or 111....1,
-// as mandated by how the Fill program should react to the keyboard events.
-
-load Fill.asm,
-output-file FillAutomatic.out,
-compare-to FillAutomatic.cmp,
-output-list RAM[16384]%D2.6.2 RAM[17648]%D2.6.2 RAM[18349]%D2.6.2 RAM[19444]%D2.6.2 RAM[20771]%D2.6.2 RAM[21031]%D2.6.2 RAM[22596]%D2.6.2 RAM[23754]%D2.6.2 RAM[24575]%D2.6.2;
-
-set RAM[24576] 0, // the keyboard is untouched
-repeat 1000000 {
- ticktock;
-}
-output; // test that the screen is white
-
-set RAM[24576] 1, // a keyboard key is pressed
-repeat 1000000 {
- ticktock;
-}
-output; // test that the screen is black
-
-set RAM[24576] 0, // they keyboard in untouched
-repeat 1000000 {
- ticktock;
-}
-output; // test that the screen is white
-
diff --git a/projects/04/mult/Mult.asm b/projects/04/mult/Mult.asm
deleted file mode 100644
index 50bbba0..0000000
--- a/projects/04/mult/Mult.asm
+++ /dev/null
@@ -1,33 +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/04/Mult.asm
-
-// Multiplies R0 and R1 and stores the result in R2.
-// (R0, R1, R2 refer to RAM[0], RAM[1], and RAM[2], respectively.)
-
-// Put your code here.
-
-@i
-M=0
-@R2
-M=0
-
-(LOOP)
-@i
-M=M+1
-D=M
-@R0
-D=D-M
-@END
-D;JGT
-@R1
-D=M
-@R2
-M=M+D
-@LOOP
-0;JMP
-
-(END)
-@END
-0;JMP
diff --git a/projects/04/mult/Mult.cmp b/projects/04/mult/Mult.cmp
deleted file mode 100644
index 296b5fb..0000000
--- a/projects/04/mult/Mult.cmp
+++ /dev/null
@@ -1,7 +0,0 @@
-| RAM[0] | RAM[1] | RAM[2] |
-| 0 | 0 | 0 |
-| 1 | 0 | 0 |
-| 0 | 2 | 0 |
-| 3 | 1 | 3 |
-| 2 | 4 | 8 |
-| 6 | 7 | 42 | \ No newline at end of file
diff --git a/projects/04/mult/Mult.out b/projects/04/mult/Mult.out
deleted file mode 100644
index e31b5df..0000000
--- a/projects/04/mult/Mult.out
+++ /dev/null
@@ -1,7 +0,0 @@
-| RAM[0] | RAM[1] | RAM[2] |
-| 0 | 0 | 0 |
-| 1 | 0 | 0 |
-| 0 | 2 | 0 |
-| 3 | 1 | 3 |
-| 2 | 4 | 8 |
-| 6 | 7 | 42 |
diff --git a/projects/04/mult/Mult.tst b/projects/04/mult/Mult.tst
deleted file mode 100644
index 9bf4fa8..0000000
--- a/projects/04/mult/Mult.tst
+++ /dev/null
@@ -1,74 +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/04/mult/Mult.tst
-
-load Mult.asm,
-output-file Mult.out,
-compare-to Mult.cmp,
-output-list RAM[0]%D2.6.2 RAM[1]%D2.6.2 RAM[2]%D2.6.2;
-
-set RAM[0] 0, // Set test arguments
-set RAM[1] 0,
-set RAM[2] -1; // Test that program initialized product to 0
-repeat 20 {
- ticktock;
-}
-set RAM[0] 0, // Restore arguments in case program used them as loop counter
-set RAM[1] 0,
-output;
-
-set PC 0,
-set RAM[0] 1, // Set test arguments
-set RAM[1] 0,
-set RAM[2] -1; // Ensure that program initialized product to 0
-repeat 50 {
- ticktock;
-}
-set RAM[0] 1, // Restore arguments in case program used them as loop counter
-set RAM[1] 0,
-output;
-
-set PC 0,
-set RAM[0] 0, // Set test arguments
-set RAM[1] 2,
-set RAM[2] -1; // Ensure that program initialized product to 0
-repeat 80 {
- ticktock;
-}
-set RAM[0] 0, // Restore arguments in case program used them as loop counter
-set RAM[1] 2,
-output;
-
-set PC 0,
-set RAM[0] 3, // Set test arguments
-set RAM[1] 1,
-set RAM[2] -1; // Ensure that program initialized product to 0
-repeat 120 {
- ticktock;
-}
-set RAM[0] 3, // Restore arguments in case program used them as loop counter
-set RAM[1] 1,
-output;
-
-set PC 0,
-set RAM[0] 2, // Set test arguments
-set RAM[1] 4,
-set RAM[2] -1; // Ensure that program initialized product to 0
-repeat 150 {
- ticktock;
-}
-set RAM[0] 2, // Restore arguments in case program used them as loop counter
-set RAM[1] 4,
-output;
-
-set PC 0,
-set RAM[0] 6, // Set test arguments
-set RAM[1] 7,
-set RAM[2] -1; // Ensure that program initialized product to 0
-repeat 210 {
- ticktock;
-}
-set RAM[0] 6, // Restore arguments in case program used them as loop counter
-set RAM[1] 7,
-output;