Files
N2T/projects/04/mult/Mult.asm
2020-11-15 13:57:48 -05:00

42 lines
572 B
NASM

// 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