Guest User

Untitled

a guest
Dec 9th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. addi $s5, $zero, 0
  2. #addi $s4, $zero, 58
  3. lw $t0, 0($a0) # s0 = first
  4. lw $t1, 4($a0) # s1 = second
  5. lw $t2, 8($a0) # s2 = result
  6. lw $t3, 12($a0) # s3 = result length
  7. add $s0, $t0, $zero
  8. add $s1, $t1, $zero
  9. add $s2, $t2, $zero
  10. add $s3, $t3, $zero
  11.  
  12. #addi $s0, $s0, -1
  13. #addi $s1, $s1, -1
  14. #addi $s2, $s2, -1
  15.  
  16. # add together, subtract, if > 57 carry
  17. addi $t6, $s3, -1
  18. loop:
  19. bltz $t6, end # finish if t6 is < 0
  20. #beq $s5, $s3, end
  21. add $s0, $s0, $t6
  22. add $s1, $s1, $t6
  23. add $s2, $s2, $t6
  24. #add $s2, $s0, $s1
  25. lb $t3, 0($s0)
  26. lb $t4, 0($s1)
  27. addi $t3, $t3, -48
  28. addi $t4, $t4, -48
  29. add $t5, $t3, $t4 # t5 = result of addition
  30. slti $s6, $t5, 10 # if s2 < 58, s6=1
  31. beq $s6, $zero, carry # carry if s2=58 or is >
  32. #add $s2, $s1, $s0 # otherwise, just add
  33. addi $t5, $t5, 48
  34. sb $t5, 0($s2)
  35. addi $t6, $t6, -1 # subtract 1 from t6
  36. j loop # jump to top
Add Comment
Please, Sign In to add comment