aboutsummaryrefslogtreecommitdiff
path: root/projects/04/mult/Mult.asm
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2017-12-12 14:30:43 +0100
committerYuchen Pei <me@ypei.me>2017-12-12 14:30:43 +0100
commitec61018d15ba4ad0a41e1ab44d7e1ecb5f2870d2 (patch)
tree95941d2d7106df0f4641a22f0aa3f4f974bfe338 /projects/04/mult/Mult.asm
parent7ce33ecd1734f5a83afb55b8311b541d17cbbd6f (diff)
finished project 4
Diffstat (limited to 'projects/04/mult/Mult.asm')
-rw-r--r--projects/04/mult/Mult.asm33
1 files changed, 33 insertions, 0 deletions
diff --git a/projects/04/mult/Mult.asm b/projects/04/mult/Mult.asm
new file mode 100644
index 0000000..50bbba0
--- /dev/null
+++ b/projects/04/mult/Mult.asm
@@ -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/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.
+
+@i
+M=0
+@R2
+M=0
+
+(LOOP)
+@i
+M=M+1
+D=M
+@R0
+D=D-M
+@END
+D;JGT
+@R1
+D=M
+@R2
+M=M+D
+@LOOP
+0;JMP
+
+(END)
+@END
+0;JMP