/4/mult/Mult.asm

http://github.com/happy4crazy/elements_of_computing_systems · Assembly · 26 lines · 20 code · 6 blank · 0 comment · 0 complexity · ac89e1029d6786065c12860f96432248 MD5 · raw file

  1. // multiplies R0 and R1
  2. // simple implementation of a*b = a + a*(b-1) = ...
  3. @R2
  4. M=0
  5. (LOOP)
  6. @R0
  7. D=M
  8. @END
  9. D;JEQ
  10. @R1
  11. D=M
  12. @R2
  13. M=M+D // R2 = R2 + R1
  14. @R0
  15. M=M-1 // decrement R0
  16. @LOOP
  17. 0;JMP
  18. (END)
  19. @END
  20. 0;JMP