Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DIM=3
- .data
- matr1: .word 4, -45, 15565, 6458, 4531, 124, -548, 2124, 31000
- matr2: .word 6, -5421, -547, -99, 4531, 1456, 4592, 118, 31999
- indice: .word 2
- vet: .space DIM*4
- .text
- .globl main
- .ent main
- main:
- subu $sp,4
- sw $ra,($sp)
- la $a0, matr1
- la $a1, matr2
- la $a2, vet
- li $a3,DIM
- subu $sp,4
- lw $t0,indice
- sw $t0,($sp)
- jal Variazione
- addu $sp,4
- lw $ra,($sp)
- addu $sp,4
- jr $ra
- .end main
- Variazione:
- lw $t0,($sp) #indice riga/colonna
- mul $t1,$a3,4 #3*4
- mul $t1,$t1,$t0 #indice riga 3*4*riga
- mul $t2,$t0,4 #indice colonna
- mul $t3,$a3,4 #3*4 da sommare alla colonna
- add $a0,$a0,$t1 #sommo indice di partenza riga
- add $a1, $a1,$t2 #sommo indice di partenza colonna
- li $s0,0 #azzero
- loop:
- and $t4,$0,$0 #resetto la variabile da salvare
- lw $s1,($a0)
- lw $s2,($a1)
- beq $s0,$a3,fine
- #calcolo della variazione
- sub $t4,$s2,$s1
- mul $t4,$t4,100
- div $t4,$t4,$s1
- sw $t4,($a2) #salvo la variabile in a2
- #incremento tutti i contatori
- addi $a0,$a0,4 #incremento la riga
- add $a1, $a1,$t3 #incremento la colonna
- addi $a2,$a2,4 #incremento il vettore
- addi $s0,$s0,1 #incremento il contatore della loop
- j loop
- fine:
- jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement