Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. .data
  2. wynik: .asciiz "Macierz[C]: \n" #store string to difference
  3. macierzA: .word 6, 3, 7, #macierzA, ktora przechowywuje liczby
  4. .word 4, 4, 5,
  5. .word 1, 6, 4
  6.  
  7. macierzB: .word 3, 4, 2, #macierzB przechowywujaca liczby
  8. .word 3, 2, 1,
  9. .word 4, 2, 1
  10.  
  11. macierzC: .space 4 #macierzC przechowywujaca sume macierzyA i macierzyB (kazde slowo ma 4 bajty. 20=5
  12.  
  13. endl: .asciiz "\n"
  14.  
  15. .text
  16. main:
  17. la $t1, macierzA #$t1 = adres macierzyA
  18. la $t2, macierzB #$t2 = adres macierzyB
  19. la $t3, macierzC #$t3 = addres macierzyC
  20.  
  21. li $t4, 0 #ustawiamy adres $t4 =0, który posłuży jako licznik
  22. li $s1, 11 #ustiawamy $s1 = 10
  23. li $s2, 3
  24. li $s3, 7
  25. li $v0, 4 #wywolanie systemowe do wypisywania stringów
  26. la $a0, wynik #wypisuje aktualnego stringa
  27. syscall #wywołanie systemowe
  28.  
  29. j petla #skocz do petli
  30.  
  31. petla:
  32.  
  33. beq $t4, $s1, final # jesli t4 czyli 0 bedzie sie rownalo 3 to idz do mat
  34. beq $t4, $s2, petla2
  35. beq $t4, $s3, petla2
  36. lw $t5, 0($t1) #wez wartosc z komorki macierzy i pzrechowaj w $t5
  37. lw $t6, 0($t2) #wez wartosc z komorki macierzy i przechowaj w $t6
  38.  
  39. add $t7, $t5, $t6 #dodaj $t5 z $t6 i zapisz w $t7
  40.  
  41. sw $t7, 0($t3) #przechowaj adres $t7 w adresie $t3
  42.  
  43. li $v0, 1 #wypisz integer
  44. move $a0, $t7 #przenieś $t7 do $a0
  45. syscall #wywołanie systemowe
  46.  
  47. li $a0, 32 #wypisz ASCII czyli spacje
  48. li $v0, 11 #wywołanie systemowe do wypisywania liter
  49. syscall #wywołanie systmowe
  50.  
  51. addi $t1, $t1, 4 #zwiększamy $t1 o 4
  52. addi $t2, $t2, 4 #zwiększamy $t2 o 4
  53. addi $t4, $t4, 1 #zwiększamy $t1 o 1
  54.  
  55. j petla #wróc przez petla
  56.  
  57. petla2: #przejscie do nowej lini
  58. li $v0, 4
  59. la $a0, endl
  60. addi $t4, $t4, 1
  61. syscall
  62. j petla #wraca do petla
  63.  
  64.  
  65. final:
  66. li $v0, 10 # wywolanie systemowe konczące program
  67. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement