Professional Documents
Culture Documents
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