Advertisement
Guest User

Untitled

a guest
Sep 27th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.48 KB | None | 0 0
  1. outsideWhile:
  2. bgt $s0, $s1, outsideWhileEnd #if i > j escape while
  3. # while (arr[i] < pivot)
  4. # i++;
  5. insideWhile1:
  6. mul $s4, $s0, 4
  7. lw $t0, Array($s4) #arr[i]
  8. bge $t0, $s3, insideWhile1End #escape inside if arr[i] >= pivot
  9. addi $s0, $s0, 1 #i++
  10. j insideWhile1
  11. insideWhile1End:
  12. # while (arr[j] > pivot)
  13. # j--;
  14. insideWhile2:
  15. mul $s4, $s1, 4
  16. lw $t0, Array($s4) #arr[j]
  17. ble $t0, $s3, insideWhile2End #escape inside if arr[i] >= pivot
  18. subi $s1, $s1, 1 #i++
  19. j insideWhile2
  20. insideWhile2End:
  21. bgt $s0, $s1, whileIfFalse #if (i <= j) {
  22. mul $s4, $s0, 4
  23. lw $s2, Array($s4) #tmp = arr[i]
  24.  
  25. mul $s4, $s1, 4
  26. lw $t0, Array($s4) #access arr[j]
  27. mul $s4, $s0, 4
  28. sw $t0, Array($s4) #arr[i] = arr[j]
  29.  
  30. mul $s4, $s1, 4
  31. sw $s2, Array($s4) #arr[j] = tmp;
  32.  
  33. addi $s0, $s0, 1 #i++
  34. subi $s1, $s1, 1 #j--
  35. whileIfFalse:
  36. j outsideWhile
  37. outsideWhileEnd:
  38. bge $a0, $s1, if1False #if left < j{
  39. sub $sp, $sp, 12
  40. sw $ra, 8($sp)
  41. sw $a0, 4($sp)
  42. sw $a1, 0($sp)
  43. move $a0, $a0 #left = left
  44. move $a1, $s1 #right = j
  45. jal quickSort
  46. lw $ra, 8($sp)
  47. lw $a0, 4($sp)
  48. lw $a1, 0($sp)
  49. add $sp, $sp, 12
  50. if1False:
  51.  
  52. bge $s0, $a1, if2False
  53. sub $sp, $sp, 12
  54. sw $ra, 8($sp)
  55. sw $a0, 4($sp)
  56. sw $a1, 0($sp)
  57. move $a0, $s0 #left = i
  58. move $a1, $a1 #right = right
  59. jal quickSort
  60. lw $ra, 8($sp)
  61. lw $a0, 4($sp)
  62. lw $a1, 0($sp)
  63. add $sp, $sp, 12
  64. if2False:
  65. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement