mirror of
https://github.com/soconnor0919/eceg431.git
synced 2025-12-11 06:34:43 -05:00
project06 - add files
This commit is contained in:
13
06/add/Add.asm
Normal file
13
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/6/add/Add.asm
|
||||||
|
|
||||||
|
// Computes R0 = 2 + 3 (R0 refers to RAM[0])
|
||||||
|
|
||||||
|
@2
|
||||||
|
D=A
|
||||||
|
@3
|
||||||
|
D=D+A
|
||||||
|
@0
|
||||||
|
M=D
|
||||||
30
06/max/Max.asm
Normal file
30
06/max/Max.asm
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
// 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/6/max/Max.asm
|
||||||
|
|
||||||
|
// Computes R2 = max(R0, R1) (R0,R1,R2 refer to RAM[0],RAM[1],RAM[2])
|
||||||
|
// Usage: Before executing, put two values in R0 and R1.
|
||||||
|
|
||||||
|
// D = R0 - R1
|
||||||
|
@R0
|
||||||
|
D=M
|
||||||
|
@R1
|
||||||
|
D=D-M
|
||||||
|
// If (D > 0) goto ITSR0
|
||||||
|
@ITSR0
|
||||||
|
D;JGT
|
||||||
|
// Its R1
|
||||||
|
@R1
|
||||||
|
D=M
|
||||||
|
@OUTPUT_D
|
||||||
|
0;JMP
|
||||||
|
(ITSR0)
|
||||||
|
@R0
|
||||||
|
D=M
|
||||||
|
(OUTPUT_D)
|
||||||
|
@R2
|
||||||
|
M=D
|
||||||
|
(END)
|
||||||
|
@END
|
||||||
|
0;JMP
|
||||||
24
06/max/MaxL.asm
Normal file
24
06/max/MaxL.asm
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
// 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/6/max/MaxL.asm
|
||||||
|
|
||||||
|
// Symbol-less version of the Max.asm program.
|
||||||
|
// Designed for testing the basic version of the assembler.
|
||||||
|
|
||||||
|
@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
|
||||||
28378
06/pong/Pong.asm
Normal file
28378
06/pong/Pong.asm
Normal file
File diff suppressed because it is too large
Load Diff
27491
06/pong/PongL.asm
Normal file
27491
06/pong/PongL.asm
Normal file
File diff suppressed because it is too large
Load Diff
41
06/rect/Rect.asm
Normal file
41
06/rect/Rect.asm
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
// 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/6/rect/Rect.asm
|
||||||
|
|
||||||
|
// Draws a rectangle at the top-left corner of the screen.
|
||||||
|
// The rectangle is 16 pixels wide and R0 pixels high.
|
||||||
|
// Usage: Before executing, put a value in R0.
|
||||||
|
|
||||||
|
// If (R0 <= 0) goto END else n = R0
|
||||||
|
@R0
|
||||||
|
D=M
|
||||||
|
@END
|
||||||
|
D;JLE
|
||||||
|
@n
|
||||||
|
M=D
|
||||||
|
// addr = base address of first screen row
|
||||||
|
@SCREEN
|
||||||
|
D=A
|
||||||
|
@addr
|
||||||
|
M=D
|
||||||
|
(LOOP)
|
||||||
|
// RAM[addr] = -1
|
||||||
|
@addr
|
||||||
|
A=M
|
||||||
|
M=-1
|
||||||
|
// addr = base address of next screen row
|
||||||
|
@addr
|
||||||
|
D=M
|
||||||
|
@32
|
||||||
|
D=D+A
|
||||||
|
@addr
|
||||||
|
M=D
|
||||||
|
// decrements n and loops
|
||||||
|
@n
|
||||||
|
MD=M-1
|
||||||
|
@LOOP
|
||||||
|
D;JGT
|
||||||
|
(END)
|
||||||
|
@END
|
||||||
|
0;JMP
|
||||||
33
06/rect/RectL.asm
Normal file
33
06/rect/RectL.asm
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
// 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/6/rect/RectL.asm
|
||||||
|
|
||||||
|
// Symbol-less version of the Rect.asm program.
|
||||||
|
// Designed for testing the basic version of the assembler.
|
||||||
|
|
||||||
|
@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
|
||||||
Reference in New Issue
Block a user