Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- n: .word 5
- v: .word 2, 4, 9, 15, 3
- .text
- main:
- li $t0,2
- subu $sp,4
- sw $t0,0($sp)
- li $v0,0
- jal suma_patrate
- addu $sp,4
- move $a0,$v0
- li $v0,1
- syscall
- li $v0,10
- syscall
- modifica:
- suma_patrate:
- subu $sp,4 #push for $fp
- sw $fp,0($sp) #store $fp
- addi $fp,$sp,4 #Change $fp to point properly
- subu $sp,8 #push for $s0, $ra
- sw $s0,0($sp) #storing $s0
- sw $ra,4($sp) #for recursivity
- # sp:($s0)($ra)($fp)fp:($t0)
- lw $s0,0($fp) #Loading last s0 or t0
- subu $s0,1 #preparing to be added
- blez $s0,exitSum#if value not good exit
- subu $sp,4
- sw $s0,0($sp) #Preparing the 0($fp)
- jal suma_patrate
- addu $sp,4 #Erasing that 0($fp)
- mul $s0,$s0,$s0 #squared
- add $v0,$v0,$s0 #adding
- exitSum: #exitting, getting variables back
- lw $s0,0($sp)
- lw $ra,4($sp)
- lw $fp,8($sp)
- addu $sp,12
- jr $ra #jumping back
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement