add project 06 asm, hack files
This commit is contained in:
parent
8b272aa7d3
commit
f6811aeade
13
projects/06/add/Add.asm
Normal file
13
projects/06/add/Add.asm
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// 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/06/add/Add.asm
|
||||||
|
|
||||||
|
// Computes R0 = 2 + 3 (R0 refers to RAM[0])
|
||||||
|
|
||||||
|
@2
|
||||||
|
D=A
|
||||||
|
@3
|
||||||
|
D=D+A
|
||||||
|
@0
|
||||||
|
M=D
|
6
projects/06/add/Add.hack
Normal file
6
projects/06/add/Add.hack
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
0000000000000010
|
||||||
|
1110110000010000
|
||||||
|
0000000000000011
|
||||||
|
1110000010010000
|
||||||
|
0000000000000000
|
||||||
|
1110001100001000
|
26
projects/06/max/Max.asm
Normal file
26
projects/06/max/Max.asm
Normal file
@ -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/06/max/Max.asm
|
||||||
|
|
||||||
|
// Computes R2 = max(R0, R1) (R0,R1,R2 refer to RAM[0],RAM[1],RAM[2])
|
||||||
|
|
||||||
|
@R0
|
||||||
|
D=M // D = first number
|
||||||
|
@R1
|
||||||
|
D=D-M // D = first number - second number
|
||||||
|
@OUTPUT_FIRST
|
||||||
|
D;JGT // if D>0 (first is greater) goto output_first
|
||||||
|
@R1
|
||||||
|
D=M // D = second number
|
||||||
|
@OUTPUT_D
|
||||||
|
0;JMP // goto output_d
|
||||||
|
(OUTPUT_FIRST)
|
||||||
|
@R0
|
||||||
|
D=M // D = first number
|
||||||
|
(OUTPUT_D)
|
||||||
|
@R2
|
||||||
|
M=D // M[2] = D (greatest number)
|
||||||
|
(INFINITE_LOOP)
|
||||||
|
@INFINITE_LOOP
|
||||||
|
0;JMP // infinite loop
|
16
projects/06/max/Max.hack
Normal file
16
projects/06/max/Max.hack
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000000001
|
||||||
|
1111010011010000
|
||||||
|
0000000000001010
|
||||||
|
1110001100000001
|
||||||
|
0000000000000001
|
||||||
|
1111110000010000
|
||||||
|
0000000000001100
|
||||||
|
1110101010000111
|
||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000000010
|
||||||
|
1110001100001000
|
||||||
|
0000000000001110
|
||||||
|
1110101010000111
|
23
projects/06/max/MaxL.asm
Normal file
23
projects/06/max/MaxL.asm
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// 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/06/max/MaxL.asm
|
||||||
|
|
||||||
|
// Symbol-less version of the Max.asm program.
|
||||||
|
|
||||||
|
@0
|
||||||
|
D=M
|
||||||
|
@1
|
||||||
|
D=D-M
|
||||||
|
@10
|
||||||
|
D;JGT
|
||||||
|
@1
|
||||||
|
D=M
|
||||||
|
@12
|
||||||
|
0;JMP
|
||||||
|
@0
|
||||||
|
D=M
|
||||||
|
@2
|
||||||
|
M=D
|
||||||
|
@14
|
||||||
|
0;JMP
|
16
projects/06/max/MaxL.hack
Normal file
16
projects/06/max/MaxL.hack
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000000001
|
||||||
|
1111010011010000
|
||||||
|
0000000000001010
|
||||||
|
1110001100000001
|
||||||
|
0000000000000001
|
||||||
|
1111110000010000
|
||||||
|
0000000000001100
|
||||||
|
1110101010000111
|
||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000000010
|
||||||
|
1110001100001000
|
||||||
|
0000000000001110
|
||||||
|
1110101010000111
|
28375
projects/06/pong/Pong.asm
Normal file
28375
projects/06/pong/Pong.asm
Normal file
File diff suppressed because it is too large
Load Diff
27483
projects/06/pong/Pong.hack
Normal file
27483
projects/06/pong/Pong.hack
Normal file
File diff suppressed because it is too large
Load Diff
27490
projects/06/pong/PongL.asm
Normal file
27490
projects/06/pong/PongL.asm
Normal file
File diff suppressed because it is too large
Load Diff
27483
projects/06/pong/PongL.hack
Normal file
27483
projects/06/pong/PongL.hack
Normal file
File diff suppressed because it is too large
Load Diff
35
projects/06/rect/Rect.asm
Normal file
35
projects/06/rect/Rect.asm
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// 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/06/rect/Rect.asm
|
||||||
|
|
||||||
|
// Draws a rectangle at the top-left corner of the screen.
|
||||||
|
// The rectangle is 16 pixels wide and R0 pixels high.
|
||||||
|
|
||||||
|
@0
|
||||||
|
D=M
|
||||||
|
@INFINITE_LOOP
|
||||||
|
D;JLE
|
||||||
|
@counter
|
||||||
|
M=D
|
||||||
|
@SCREEN
|
||||||
|
D=A
|
||||||
|
@address
|
||||||
|
M=D
|
||||||
|
(LOOP)
|
||||||
|
@address
|
||||||
|
A=M
|
||||||
|
M=-1
|
||||||
|
@address
|
||||||
|
D=M
|
||||||
|
@32
|
||||||
|
D=D+A
|
||||||
|
@address
|
||||||
|
M=D
|
||||||
|
@counter
|
||||||
|
MD=M-1
|
||||||
|
@LOOP
|
||||||
|
D;JGT
|
||||||
|
(INFINITE_LOOP)
|
||||||
|
@INFINITE_LOOP
|
||||||
|
0;JMP
|
25
projects/06/rect/Rect.hack
Normal file
25
projects/06/rect/Rect.hack
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000010111
|
||||||
|
1110001100000110
|
||||||
|
0000000000010000
|
||||||
|
1110001100001000
|
||||||
|
0100000000000000
|
||||||
|
1110110000010000
|
||||||
|
0000000000010001
|
||||||
|
1110001100001000
|
||||||
|
0000000000010001
|
||||||
|
1111110000100000
|
||||||
|
1110111010001000
|
||||||
|
0000000000010001
|
||||||
|
1111110000010000
|
||||||
|
0000000000100000
|
||||||
|
1110000010010000
|
||||||
|
0000000000010001
|
||||||
|
1110001100001000
|
||||||
|
0000000000010000
|
||||||
|
1111110010011000
|
||||||
|
0000000000001010
|
||||||
|
1110001100000001
|
||||||
|
0000000000010111
|
||||||
|
1110101010000111
|
32
projects/06/rect/RectL.asm
Normal file
32
projects/06/rect/RectL.asm
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
// 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/06/rect/RectL.asm
|
||||||
|
|
||||||
|
// Symbol-less version of the Rect.asm program.
|
||||||
|
|
||||||
|
@0
|
||||||
|
D=M
|
||||||
|
@23
|
||||||
|
D;JLE
|
||||||
|
@16
|
||||||
|
M=D
|
||||||
|
@16384
|
||||||
|
D=A
|
||||||
|
@17
|
||||||
|
M=D
|
||||||
|
@17
|
||||||
|
A=M
|
||||||
|
M=-1
|
||||||
|
@17
|
||||||
|
D=M
|
||||||
|
@32
|
||||||
|
D=D+A
|
||||||
|
@17
|
||||||
|
M=D
|
||||||
|
@16
|
||||||
|
MD=M-1
|
||||||
|
@10
|
||||||
|
D;JGT
|
||||||
|
@23
|
||||||
|
0;JMP
|
25
projects/06/rect/RectL.hack
Normal file
25
projects/06/rect/RectL.hack
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
0000000000000000
|
||||||
|
1111110000010000
|
||||||
|
0000000000010111
|
||||||
|
1110001100000110
|
||||||
|
0000000000010000
|
||||||
|
1110001100001000
|
||||||
|
0100000000000000
|
||||||
|
1110110000010000
|
||||||
|
0000000000010001
|
||||||
|
1110001100001000
|
||||||
|
0000000000010001
|
||||||
|
1111110000100000
|
||||||
|
1110111010001000
|
||||||
|
0000000000010001
|
||||||
|
1111110000010000
|
||||||
|
0000000000100000
|
||||||
|
1110000010010000
|
||||||
|
0000000000010001
|
||||||
|
1110001100001000
|
||||||
|
0000000000010000
|
||||||
|
1111110010011000
|
||||||
|
0000000000001010
|
||||||
|
1110001100000001
|
||||||
|
0000000000010111
|
||||||
|
1110101010000111
|
Loading…
Reference in New Issue
Block a user