Advertisement
LegoDrifter

MIPS niza smrdena

Apr 17th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. .data
  2. A: .word 1,3,5,7,9,10,11,12,13,15
  3. i: .word 10
  4. j: .word 14
  5. z: .word 2
  6.  
  7. y: .word 4
  8.  
  9. .text
  10. la $s0, A
  11. lw $s1, i
  12. lw $s2, z
  13.  
  14. lw $s4, y
  15. lw $s5, j
  16. ## NAPOMENA KOGA RABOTIME SO NIZI MORAME ZA SITE A[i] .. . A[i+1] ... A[i*3/2..] delce po delce da gi sklopuvame vo glavnoto so se bara
  17.  
  18.  
  19. andi $s5, $s5 , 3 # j = j & 3
  20.  
  21. div $s1,$s2 # i / 2
  22. mflo $t0
  23. sll $t0,$t0,2 # i / 2 * 4
  24. add $t0,$t0,$s0 # Baznata adresa na A mu ja dodavame
  25. lw $t1,0($t0) # Go dobivme A[i/2]
  26.  
  27. div $s5, $s4
  28. mfhi $t2 # Go dobiv j%4
  29.  
  30. addi $t3,$s1,1 # i + 1
  31. sll $t3,$t3,2 # i + 1 * 4
  32. add $t3,$t3,$s0 # Baznata adresa na A mu ja dodavame
  33. lw $t4,0($t3) # Go dobivme A[i+1]
  34.  
  35. add $t5,$t2,$t1 # Adni gi A[i/2] i j%4
  36. add $t4,$zero,$t5 # A[i+1] = ... ^ dobivame..
  37.  
  38. move $a0, $s5 # spremni da pecatime j
  39. li $v0, 1
  40. syscall
  41.  
  42. add $s6,$zero,$t4 # s6 e s ustvari
  43. move $a0,$s6
  44. li $v0, 1 # go pecatime s
  45. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement