Initial Commit with everything done
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
// 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.
|
||||
(LOOP)
|
||||
@R1
|
||||
M=0
|
||||
@KBD
|
||||
D=M
|
||||
@BLACK
|
||||
D;JGT
|
||||
@WHITE
|
||||
D;JEQ
|
||||
(BLACK)
|
||||
@SCREEN
|
||||
D=M
|
||||
@LOOP
|
||||
D;JLT
|
||||
(BLACKLOOP)
|
||||
@R1
|
||||
D=M
|
||||
M=M+1
|
||||
@SCREEN
|
||||
AD=D+A
|
||||
M=-1
|
||||
@24575
|
||||
D=D-A
|
||||
@LOOP
|
||||
D;JEQ
|
||||
@BLACKLOOP
|
||||
0;JMP
|
||||
(WHITE)
|
||||
@SCREEN
|
||||
D=M
|
||||
@LOOP
|
||||
D;JEQ
|
||||
(WHITELOOP)
|
||||
@R1
|
||||
D=M
|
||||
M=M+1
|
||||
@SCREEN
|
||||
AD=D+A
|
||||
M=0
|
||||
@24575
|
||||
D=D-A
|
||||
@LOOP
|
||||
D;JEQ
|
||||
@WHITELOOP
|
||||
0;JMP
|
||||
@@ -0,0 +1,26 @@
|
||||
// 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.
|
||||
@R2
|
||||
M=0
|
||||
(LOOP)
|
||||
@R0
|
||||
D=M
|
||||
@END
|
||||
D;JLE
|
||||
@R0
|
||||
M=M-1
|
||||
@R1
|
||||
D=M
|
||||
@R2
|
||||
M=D+M
|
||||
@LOOP
|
||||
0;JMP
|
||||
(END)
|
||||
@END
|
||||
Reference in New Issue
Block a user