You are on page 1of 4

.

data
msg1: .asciiz "Enter number: \n"
msg: .asciiz "Answer \n:"
.text
.globl main
.globl my_mul

main:
addi $sp,$sp,-8
sw $ra, 4($sp)
sw $fp, 0($sp)

jal total

add $a0,$v0,$0
add $t0,$0,1
addi $sp,$sp,-4
sw $t0,0($sp)

loop1:
beq $a0,1,exit1
lw $a1,0($sp)
jal my_mul
addi $a0,$a0,-1
sw $v0,0($sp)
j loop1

exit1:
add $t0,$v0,$0
la $a0,msg
li $v0,4
syscall
add $a0,$t0,$0
li $v0,1
syscall
addi $sp,$sp,4
lw $fp, 0($sp)
lw $ra, 4($sp)
addi $sp,$sp,8
jr $ra

my_mul:
addi $sp,$sp, -4
sw $s0,0($sp)

add $s0,$a1,$0
add $v0,$0,$0

mult_loop:
beq $s0,$0,mult_eol
add $v0,$v0,$a0
addi $s0,$s0,-1

j mult_loop

mult_eol:
lw $s0,0($sp)
addi $sp,$sp, 4
jr $ra

pm:
addi $sp,$sp,-8
sw $a0, 4($sp)
sw $v0, 0($sp)
la $a0, msg1
li $v0,4
syscall
lw $a0, 4($sp)
lw $v0, 0($sp)
addi $sp,$sp,8
jr $ra

tn:
li $v0,5
syscall
jr $ra

total:

addi $sp,$sp,-4
sw $ra,0($sp)
jal pm
jal tn
lw $ra,0($sp)
addi $sp,$sp,4
jr $ra

You might also like