Advertisement
Guest User

darara

a guest
Jun 25th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DIM=3
  2. .data
  3. matr1: .word 4, -45, 15565, 6458, 4531, 124, -548, 2124, 31000
  4. matr2: .word 6, -5421, -547, -99, 4531, 1456, 4592, 118, 31999
  5. indice: .word 2
  6. vet: .space DIM*4
  7. .text
  8. .globl main
  9. .ent main
  10. main:
  11. subu $sp,4
  12. sw $ra,($sp)
  13.  
  14. la $a0, matr1
  15. la $a1, matr2
  16. la $a2, vet
  17. li $a3,DIM
  18.  
  19. subu $sp,4
  20. lw $t0,indice
  21. sw $t0,($sp)
  22.  
  23. jal Variazione
  24.  
  25. addu $sp,4
  26. lw $ra,($sp)
  27. addu $sp,4
  28. jr $ra
  29. .end main
  30.  
  31. Variazione:
  32. lw $t0,($sp) #indice riga/colonna
  33.  
  34. mul $t1,$a3,4 #3*4
  35. mul $t1,$t1,$t0 #indice riga 3*4*riga
  36. mul $t2,$t0,4 #indice colonna
  37. mul $t3,$a3,4 #3*4 da sommare alla colonna
  38. add $a0,$a0,$t1 #sommo indice di partenza riga
  39. add $a1, $a1,$t2 #sommo indice di partenza colonna
  40. li $s0,0 #azzero
  41.  
  42. loop:
  43. and $t4,$0,$0 #resetto la variabile da salvare
  44. lw $s1,($a0)
  45. lw $s2,($a1)
  46. beq $s0,$a3,fine
  47. #calcolo della variazione
  48. sub $t4,$s2,$s1
  49. mul $t4,$t4,100
  50. div $t4,$t4,$s1
  51. sw $t4,($a2) #salvo la variabile in a2
  52. #incremento tutti i contatori
  53. addi $a0,$a0,4 #incremento la riga
  54. add $a1, $a1,$t3 #incremento la colonna
  55. addi $a2,$a2,4 #incremento il vettore
  56. addi $s0,$s0,1 #incremento il contatore della loop
  57. j loop
  58.  
  59. fine:
  60. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement