mirror of
https://github.com/StepanovPlaton/Nand2Tetris.git
synced 2026-04-03 20:30:47 +04:00
Complete project 4
This commit is contained in:
27
Assignments/4_Machine_Language/Mult.asm
Normal file
27
Assignments/4_Machine_Language/Mult.asm
Normal file
@@ -0,0 +1,27 @@
|
||||
// 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/4/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.)
|
||||
// The algorithm is based on repetitive addition.
|
||||
|
||||
@R2
|
||||
M=0
|
||||
@R1
|
||||
D=M
|
||||
@END
|
||||
D;JEQ
|
||||
(STEP)
|
||||
@R2
|
||||
D=M
|
||||
@R0
|
||||
D=D+M
|
||||
@R2
|
||||
M=D
|
||||
@R1
|
||||
DM=M-1
|
||||
@STEP
|
||||
D;JGT
|
||||
@END
|
||||
Reference in New Issue
Block a user