Advertisement
AaronThomsen

Untitled

Dec 3rd, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. .data
  2. arr1: .word 10, 4, 5, 3, 6, 7, 1
  3. arr2: .word 5, 5, 5, 5, 5, 5, 5
  4.  
  5. .text
  6. main:
  7.  
  8. la $a0, arr1
  9. la $a1, arr2
  10. li $a2, 7
  11. jal find_maxima
  12.  
  13. li $a1, 7
  14. la $a0, arr2
  15. jal printArr
  16.  
  17.  
  18. li $v0, 10
  19. syscall
  20.  
  21. #a0: array address
  22. #a1: size of array
  23. printArr:
  24. sub $sp, $sp, 16
  25. sw $t2, 12($sp)
  26. sw $t1, 8($sp)
  27. sw $t0, 4($sp)
  28. sw $a0, ($sp)
  29.  
  30. move $t2, $ra
  31.  
  32. move $t0, $a0 #need $a0 to print
  33. li $v0, 1
  34.  
  35. li $t1, 1
  36. beginWhile:
  37. bgt $t1, $a1, endWhile
  38. lw $a0, ($t0)
  39. syscall
  40. jal printSpace
  41. addi $t1, $t1, 1
  42. addi $t0, $t0, 4
  43. j beginWhile
  44. endWhile:
  45.  
  46. li $a0, '\n'
  47. li $v0, 11
  48. syscall
  49.  
  50. move $ra, $t2
  51.  
  52. lw $t2, 12($sp)
  53. lw $t1, 8($sp)
  54. lw $t0, 4($sp)
  55. lw $a0, ($sp)
  56. addi $sp, $sp, 16
  57. jr $ra
  58.  
  59. printSpace:
  60. sub $sp, $sp,8
  61. sw $a0, 4($sp)
  62. sw $v0, ($sp)
  63.  
  64. li $a0, ' '
  65. li $v0, 11
  66. syscall
  67.  
  68. lw $a0, 4($sp)
  69. lw $v0, ($sp)
  70. addi $sp, $sp, 8
  71. jr $ra
  72.  
  73. #####################
  74. #a0: input buffer address
  75. #a1: output buffer address
  76. #a2: number of elements in array
  77. #####################
  78. find_maxima:
  79. ############## your code begins here #################
  80.  
  81.  
  82. ############## your code ends here ##################
  83. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement