Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- addi $s5, $zero, 0
- #addi $s4, $zero, 58
- lw $t0, 0($a0) # s0 = first
- lw $t1, 4($a0) # s1 = second
- lw $t2, 8($a0) # s2 = result
- lw $t3, 12($a0) # s3 = result length
- add $s0, $t0, $zero
- add $s1, $t1, $zero
- add $s2, $t2, $zero
- add $s3, $t3, $zero
- #addi $s0, $s0, -1
- #addi $s1, $s1, -1
- #addi $s2, $s2, -1
- # add together, subtract, if > 57 carry
- addi $t6, $s3, -1
- loop:
- bltz $t6, end # finish if t6 is < 0
- #beq $s5, $s3, end
- add $s0, $s0, $t6
- add $s1, $s1, $t6
- add $s2, $s2, $t6
- #add $s2, $s0, $s1
- lb $t3, 0($s0)
- lb $t4, 0($s1)
- addi $t3, $t3, -48
- addi $t4, $t4, -48
- add $t5, $t3, $t4 # t5 = result of addition
- slti $s6, $t5, 10 # if s2 < 58, s6=1
- beq $s6, $zero, carry # carry if s2=58 or is >
- #add $s2, $s1, $s0 # otherwise, just add
- addi $t5, $t5, 48
- sb $t5, 0($s2)
- addi $t6, $t6, -1 # subtract 1 from t6
- j loop # jump to top
Add Comment
Please, Sign In to add comment