Advertisement
Guest User

MIPS output

a guest
Nov 10th, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2. globals:
  3. strings:
  4. .asciiz "Enter number of elements\n"
  5. .asciiz "Enter integers\n"
  6. .asciiz "Sorted list in ascending order:\n"
  7. .text
  8. main:
  9. move $fp, $sp
  10. addi $sp, $sp, -400
  11. addi $sp, $sp, -4
  12. addi $sp, $sp, -4
  13. addi $sp, $sp, -4
  14. addi $sp, $sp, -4
  15. la $t9, strings
  16. addi $t9, $t9, 0
  17. li $v0, 4
  18. add $a0, $t9, $zero
  19. syscall
  20. addi $t9, $fp, 400
  21. li $v0, 5
  22. syscall
  23. move $t8, $v0
  24. sw $t8, 0($t9)
  25. la $t8, strings
  26. addi $t8, $t8, 26
  27. li $v0, 4
  28. add $a0, $t8, $zero
  29. syscall
  30. addi $t8, $fp, 404
  31. li $t9, 0
  32. sw $t9, 0($t8)
  33. addi $t9, $fp, 404
  34. lw $t9, 0($t9)
  35. addi $t8, $fp, 400
  36. lw $t8, 0($t8)
  37. sub $s6, $t9, $t8
  38. bltz $s6, lt_2
  39. li $s7, 0
  40. b le_3
  41. lt_2:
  42. li $s7, 1
  43. le_3:
  44. beqz $s7, while_next_1
  45. while_body_0:
  46. addi $s7, $fp, 0
  47. li $t8, 4
  48. addi $t9, $fp, 404
  49. lw $t9, 0($t9)
  50. mul $t9, $t9, $t8
  51. add $s7, $s7, $t9
  52. li $v0, 5
  53. syscall
  54. move $t8, $v0
  55. sw $t8, 0($s7)
  56. addi $t8, $fp, 404
  57. addi $s7, $fp, 404
  58. lw $s7, 0($s7)
  59. li $t9, 1
  60. add $s6, $s7, $t9
  61. sw $s6, 0($t8)
  62. addi $s6, $fp, 404
  63. lw $s6, 0($s6)
  64. addi $t8, $fp, 400
  65. lw $t8, 0($t8)
  66. sub $s7, $s6, $t8
  67. bltz $s7, lt_4
  68. li $t9, 0
  69. b le_5
  70. lt_4:
  71. li $t9, 1
  72. le_5:
  73. bnez $t9, while_body_0
  74. while_next_1:
  75. addi $t9, $fp, 404
  76. li $t8, 0
  77. sw $t8, 0($t9)
  78. addi $t8, $fp, 404
  79. lw $t8, 0($t8)
  80. addi $t9, $fp, 400
  81. lw $t9, 0($t9)
  82. li $s6, 1
  83. sub $s7, $t9, $s6
  84. sub $t9, $t8, $s7
  85. bltz $t9, lt_8
  86. li $s6, 0
  87. b le_9
  88. lt_8:
  89. li $s6, 1
  90. le_9:
  91. beqz $s6, while_next_7
  92. while_body_6:
  93. addi $s6, $fp, 408
  94. li $s7, 0
  95. sw $s7, 0($s6)
  96. addi $s7, $fp, 408
  97. lw $s7, 0($s7)
  98. addi $s6, $fp, 400
  99. lw $s6, 0($s6)
  100. addi $t8, $fp, 404
  101. lw $t8, 0($t8)
  102. li $t9, 1
  103. sub $s5, $t8, $t9
  104. sub $t9, $s6, $s5
  105. sub $s6, $s7, $t9
  106. bltz $s6, lt_12
  107. li $s5, 0
  108. b le_13
  109. lt_12:
  110. li $s5, 1
  111. le_13:
  112. beqz $s5, while_next_11
  113. while_body_10:
  114. addi $s5, $fp, 0
  115. li $t9, 4
  116. addi $s7, $fp, 408
  117. lw $s7, 0($s7)
  118. mul $s7, $s7, $t9
  119. add $s5, $s5, $s7
  120. lw $s5, 0($s5)
  121. addi $t9, $fp, 0
  122. li $s7, 4
  123. addi $s6, $fp, 408
  124. lw $s6, 0($s6)
  125. li $t8, 1
  126. add $s4, $s6, $t8
  127. mul $s4, $s4, $s7
  128. add $t9, $t9, $s4
  129. lw $t9, 0($t9)
  130. sub $s4, $s5, $t9
  131. bgtz $s4, lt_16
  132. li $s7, 0
  133. b le_17
  134. lt_16:
  135. li $s7, 1
  136. le_17:
  137. beqz $s7, if_next_14
  138. addi $s7, $fp, 412
  139. addi $t9, $fp, 0
  140. li $s5, 4
  141. addi $s4, $fp, 408
  142. lw $s4, 0($s4)
  143. mul $s4, $s4, $s5
  144. add $t9, $t9, $s4
  145. lw $t9, 0($t9)
  146. sw $t9, 0($s7)
  147. addi $t9, $fp, 0
  148. li $s7, 4
  149. addi $s5, $fp, 408
  150. lw $s5, 0($s5)
  151. mul $s5, $s5, $s7
  152. add $t9, $t9, $s5
  153. addi $s7, $fp, 0
  154. li $s5, 4
  155. addi $s4, $fp, 408
  156. lw $s4, 0($s4)
  157. li $t8, 1
  158. add $s6, $s4, $t8
  159. mul $s6, $s6, $s5
  160. add $s7, $s7, $s6
  161. lw $s7, 0($s7)
  162. sw $s7, 0($t9)
  163. addi $s7, $fp, 0
  164. li $t9, 4
  165. addi $s5, $fp, 408
  166. lw $s5, 0($s5)
  167. li $s6, 1
  168. add $t8, $s5, $s6
  169. mul $t8, $t8, $t9
  170. add $s7, $s7, $t8
  171. addi $t9, $fp, 412
  172. lw $t9, 0($t9)
  173. sw $t9, 0($s7)
  174. b if_end_15
  175. if_next_14:
  176. if_end_15:
  177. addi $t9, $fp, 408
  178. addi $s7, $fp, 408
  179. lw $s7, 0($s7)
  180. li $t8, 1
  181. add $s6, $s7, $t8
  182. sw $s6, 0($t9)
  183. addi $s6, $fp, 408
  184. lw $s6, 0($s6)
  185. addi $t9, $fp, 400
  186. lw $t9, 0($t9)
  187. addi $t8, $fp, 404
  188. lw $t8, 0($t8)
  189. li $s7, 1
  190. sub $s5, $t8, $s7
  191. sub $s7, $t9, $s5
  192. sub $t9, $s6, $s7
  193. bltz $t9, lt_18
  194. li $s5, 0
  195. b le_19
  196. lt_18:
  197. li $s5, 1
  198. le_19:
  199. bnez $s5, while_body_10
  200. while_next_11:
  201. addi $s5, $fp, 404
  202. addi $s7, $fp, 404
  203. lw $s7, 0($s7)
  204. li $s6, 1
  205. add $t9, $s7, $s6
  206. sw $t9, 0($s5)
  207. addi $t9, $fp, 404
  208. lw $t9, 0($t9)
  209. addi $s5, $fp, 400
  210. lw $s5, 0($s5)
  211. li $s6, 1
  212. sub $s7, $s5, $s6
  213. sub $s5, $t9, $s7
  214. bltz $s5, lt_20
  215. li $s6, 0
  216. b le_21
  217. lt_20:
  218. li $s6, 1
  219. le_21:
  220. bnez $s6, while_body_6
  221. while_next_7:
  222. la $s6, strings
  223. addi $s6, $s6, 42
  224. li $v0, 4
  225. add $a0, $s6, $zero
  226. syscall
  227. addi $s6, $fp, 404
  228. li $s7, 0
  229. sw $s7, 0($s6)
  230. addi $s7, $fp, 404
  231. lw $s7, 0($s7)
  232. addi $s6, $fp, 400
  233. lw $s6, 0($s6)
  234. sub $s5, $s7, $s6
  235. bltz $s5, lt_24
  236. li $t9, 0
  237. b le_25
  238. lt_24:
  239. li $t9, 1
  240. le_25:
  241. beqz $t9, while_next_23
  242. while_body_22:
  243. addi $t9, $fp, 0
  244. li $s6, 4
  245. addi $s7, $fp, 404
  246. lw $s7, 0($s7)
  247. mul $s7, $s7, $s6
  248. add $t9, $t9, $s7
  249. lw $t9, 0($t9)
  250. li $v0, 1
  251. add $a0, $t9, $zero
  252. syscall
  253. li $t9, 32
  254. li $v0, 11
  255. add $a0, $t9, $zero
  256. syscall
  257. addi $t9, $fp, 404
  258. addi $s6, $fp, 404
  259. lw $s6, 0($s6)
  260. li $s7, 1
  261. add $s5, $s6, $s7
  262. sw $s5, 0($t9)
  263. addi $s5, $fp, 404
  264. lw $s5, 0($s5)
  265. addi $t9, $fp, 400
  266. lw $t9, 0($t9)
  267. sub $s6, $s5, $t9
  268. bltz $s6, lt_26
  269. li $s7, 0
  270. b le_27
  271. lt_26:
  272. li $s7, 1
  273. le_27:
  274. bnez $s7, while_body_22
  275. while_next_23:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement