Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. .data
  2. difference: .asciiz "Array[C]: \n" #store string to difference
  3. arrayA: .word 10, 3, 7, #Array1 to store the first list
  4. .word 12, 4, 5,
  5. .word 11, 3, 3
  6.  
  7. arrayB: .word 3, 4, 2, #Array2 to store the second list
  8. .word 3, 2, 1,
  9. .word 4, 7, 2,
  10. arrayC: .space 4 #ArraySum to store the sum of Array1 and Array2
  11.  
  12. endl: .asciiz "\n"
  13.  
  14. .text
  15. main:
  16. la $t1, arrayA #$t1 = address of arrayA
  17. la $t2, arrayB #$t2 = address of arrayB
  18. la $t3, arrayC #$t3 = address of arrayC
  19.  
  20. li $t4, 0 #setting $t4 = 0; t4 will serve as a counter
  21. li $s1, 11 #setting $s1 = 10
  22. li $s2, 3
  23. li $s3, 7
  24. li $v0, 4 #printing out strings
  25. la $a0, difference #print out the actual string
  26. syscall #system call
  27.  
  28. j loop #jump to loop
  29.  
  30. loop:
  31.  
  32. beq $t4, $s1, final # jesli t4 czyli 0 bedzie sie rownalo 3 to idz do mat
  33. beq $t4, $s2, mat
  34. beq $t4, $s3, mat
  35. lw $t5, 0($t1) #get value from array cell and store in $t5
  36. lw $t6, 0($t2) #get value from array cell and store in $t6
  37.  
  38. add $t7, $t5, $t6 #add $t5 with $t6 and store it in $t7
  39.  
  40. sw $t7, 0($t3) #store $t7 into the address of $t8
  41.  
  42. li $v0, 1 #print integer
  43. move $a0, $t7 #move $t7 into $a0
  44. syscall #system call
  45.  
  46. li $a0, 32 #print the ASCII representation of 32 which is space
  47. li $v0, 11 #system call for printing character
  48. syscall #system call
  49.  
  50. addi $t1, $t1, 4 #incrementing $t1 by 4
  51. addi $t2, $t2, 4 #incrementing $t2 by 4
  52. addi $t4, $t4, 1 #incrementing $t1 by 1
  53.  
  54. j loop #go back through the loop
  55.  
  56. mat: # printf("\n")
  57. li $v0, 4
  58. la $a0, endl
  59. addi $t4, $t4, 1
  60. syscall
  61. j loop #wraca do petli
  62.  
  63.  
  64. final:
  65. li $v0, 10
  66. syscall #end the program
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement