diff options
Diffstat (limited to 'projects/04/fill')
| -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 | 
5 files changed, 0 insertions, 132 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 -  | 
