Add solutions for part 1
This commit is contained in:
41
projects/04/mult/Mult.asm
Normal file
41
projects/04/mult/Mult.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/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.)
|
||||
|
||||
// R2 = 0
|
||||
@R2
|
||||
M = 0
|
||||
// i = 0
|
||||
@i
|
||||
M = 0
|
||||
|
||||
(LOOP)
|
||||
// (if i >= R0 <=> if i - R0 >= 0) goto END
|
||||
@i
|
||||
D = M
|
||||
@R0
|
||||
D = D - M
|
||||
@END
|
||||
D;JGE
|
||||
|
||||
// R2 = R2 + R1
|
||||
@R1
|
||||
D = M
|
||||
@R2
|
||||
M = M + D
|
||||
|
||||
// i++
|
||||
@i
|
||||
M = M + 1
|
||||
|
||||
// goto LOOP
|
||||
@LOOP
|
||||
0;JMP
|
||||
|
||||
(END)
|
||||
@END
|
||||
0;JMP
|
||||
Reference in New Issue
Block a user