Guest User

Untitled

a guest
Jan 24th, 2020
77
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2. suma: .asciiz "Array[C]: " #przechowuje stringa do 'suma'
  3. tabA: .word 14, 3, 7, 1, 12, 20, 16, 18, 11, 17 #tab1 do przechowywania pierwszej listy liczb
  4. tabB: .word 3, 4, 2, 8, 4, 1, 7, 9, 10, 20 #tab2 do przechowywania drugiej listy liczb
  5. tabC: .space 5 # do przechowywania sumy tabA i tabB
  6. endl: .asciiz "\n"
  7.  
  8. .text
  9. main:
  10. la $t1, tabA #$t1 = adres tabA
  11. la $t2, tabB #$t2 = adres tabB
  12. la $t3, tabC #$t3 =adres tabC
  13.  
  14. li $t4, 0 #przypisanie: $t4 = 0; t4 będzie wykorzystane jako licznik w petli
  15. li $s1, 10 #ustawiamy $s1 = 10
  16. li $s2, 3
  17.  
  18. li $v0, 4 #sluzy do wypisywania stringow
  19. la $a0, suma #sluzy do wypisywania aktualnego stringa
  20. syscall #wywolanie systemowe
  21.  
  22. j loop #skocz do loop
  23.  
  24. pentelka:
  25.  
  26. la $a0, endl
  27. syscall
  28.  
  29. j loop
  30.  
  31. loop:
  32. beq $t4, $s1, final # jesli $t1 == $s1, idz do 'final'
  33. beq $t4, $s2, pentelka
  34. lw $t5, 0($t1) #pobierz wartość z komórki macierzy i zapisz w $ t5
  35. lw $t6, 0($t2) #pobierz wartość z komórki macierzy i zapisz w $ t6
  36.  
  37. add $t7, $t5, $t6 #dodaj $ t5 z $ t6 i zapisz w $ t7
  38.  
  39. sw $t7, 0($t3) #przechowaj $t7 pod adresem $t8
  40.  
  41. li $v0, 1 #wypisz integer
  42. move $a0, $t7 #przenieś $t7 na $a0
  43. syscall #wywolanie systemowe
  44.  
  45. li $a0, 32 #spacja
  46. li $v0, 11 #wywolanie systemowe do wypisywania znaku
  47. syscall #system call
  48.  
  49. addi $t1, $t1, 4 #zwiekszamy $t1 o 4
  50. addi $t2, $t2, 4 #zwiekszamy $t2 o 4
  51. addi $t4, $t4, 1 #zwiekszamy $t1 o 1
  52.  
  53. j loop #wroc przez 'loop'
  54.  
  55. final:
  56. li $v0, 10
  57. syscall #skoncz program
RAW Paste Data