diff options
Diffstat (limited to 'projects/04')
-rw-r--r-- | projects/04/fill/Fill.asm | 76 | ||||
-rw-r--r-- | projects/04/fill/Fill.tst | 11 | ||||
-rw-r--r-- | projects/04/fill/FillAutomatic.cmp | 4 | ||||
-rw-r--r-- | projects/04/fill/FillAutomatic.out | 4 | ||||
-rw-r--r-- | projects/04/fill/FillAutomatic.tst | 37 | ||||
-rw-r--r-- | projects/04/mult/Mult.asm | 33 | ||||
-rw-r--r-- | projects/04/mult/Mult.cmp | 7 | ||||
-rw-r--r-- | projects/04/mult/Mult.out | 7 | ||||
-rw-r--r-- | projects/04/mult/Mult.tst | 74 |
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;
|