Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # B[i] = B[i]+(Somma da 0 a i [A[j]])
- .data
- A: .word 1 2 3 4 5 6 7 8
- B: .word 10 11 12 13 14 15 16 17
- n: .word 8
- .text
- main:
- la $a0, A
- la $a1, B
- la $a2, n
- lw $a2, 0($a2)
- addi $sp, $sp, -4
- sw $ra, 0($sp)
- jal somma
- lw $ra, 0($sp)
- addi $sp, $sp, 4
- jr $ra
- somma:
- sll $a2, $a2, 2 # n *= 4
- add $t0, $0, $0 # indice i = 0
- somma2:
- bne $t0, $a2, else # if i != n goto else
- jr $ra
- else:
- add $a3, $a1, $t0 # $a3 = &B[i]
- add $t2, $0, $0 # indice j = 0
- addi $sp, $sp, -12
- sw $ra, 0($sp)
- sw $a1, 4($sp)
- sw $a2, 8($sp)
- add $s0, $0, $0 # $s0 = 0
- add $a1, $t2, $0 # $a1 = j
- addi $a2, $t0, 4 # $a2 = i+1
- jal for
- lw $ra, 0($sp)
- lw $a1, 4($sp)
- lw $a2, 8($sp)
- addi $sp, $sp, 12
- sw $v0, 0($a3)
- addi $t0, $t0, 4 # i += 1
- j somma2
- for:
- bne $a1, $a2, else2 #if j != i goto else2
- lw $v0, 0($a3) #$v0 = B[i]
- jr $ra
- else2:
- addi $sp, $sp, -8
- sw $ra, 0($sp)
- sw $s0, 4($sp)
- add $t3, $a0, $a1 #$t3 = &A[j]
- lw $t3, 0($t3) #$t3 = A[j]
- add $s0, $0, $t3 #$s0 += A[j]
- addi $a1, $a1, 4 #j += 1
- jal for
- add $v0, $v0, $s0 #$v0 += A[j]
- lw $ra, 0($sp)
- lw $s0, 4($sp)
- addi $sp, $sp, 8
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement