Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. Convert:# Chuyen doi kieu dinh dang cua time
  2. # Tham so: a0: time, a1: type, a2: buffer1, a3: buffer2
  3.  
  4. addi $sp, $sp, -8
  5. sw $a0, ($sp)
  6. sw $ra, 4($sp)
  7.  
  8. beq $a1, 'A', Convert.Do1
  9. beq $a1, 'B', Convert.Do2
  10. beq $a1, 'C', Convert.Do3
  11. j Convert.Exit
  12.  
  13. Convert.Do1:
  14. # toString(time.month)
  15. jal Month
  16. move $a0, $v0
  17. move $a1, $a2
  18. jal ToString
  19.  
  20. # + '/'
  21. move $a0, $v0
  22. la $a1, seperate # /
  23. move $a2, $v0
  24. jal StrConCat
  25. move $t0, $v0
  26.  
  27. # + toString(time.day)
  28. lw $a0, ($sp)
  29. jal Day
  30. sw $a0, ($sp)
  31. move $a0, $v0
  32. move $a1, $a3
  33. jal ToString
  34.  
  35. move $a0, $t0
  36. move $a1, $v0
  37. move $a2, $t0
  38. jal StrConCat
  39.  
  40. # + '/'
  41. move $a0, $v0
  42. la $a1, seperate # /
  43. move $a2, $v0
  44. jal StrConCat
  45. move $t0, $v0
  46.  
  47. # + toString(time.year)
  48. lw $a0, ($sp)
  49. jal Year
  50. sw $a0, ($sp)
  51. move $a0, $v0
  52. move $a1, $a3
  53. jal ToString
  54.  
  55. move $a0, $t0
  56. move $a1, $v0
  57. move $a2, $t0
  58. jal StrConCat
  59.  
  60. j Convert.Exit
  61.  
  62. Convert.Do2:
  63. # month[time.month - 1]
  64. jal Month
  65. addi $t0, $v0, -1
  66. li $t1, 4
  67. mult $t0, $t1
  68. mflo $t0
  69. la $t0, month($t0)
  70.  
  71. # + ' '
  72. move $a0, $t0
  73. la $a1, seperate + 2 # ' '
  74. move $a2, $a2
  75. jal StrConCat
  76. move $t0, $v0
  77.  
  78. # + toString(time.day)
  79. lw $a0, ($sp)
  80. jal Day
  81. sw $a0, ($sp)
  82. move $a0, $v0
  83. move $a1, $a3
  84. jal ToString
  85.  
  86. move $a0, $t0
  87. move $a1, $v0
  88. move $a2, $t0
  89. jal StrConCat
  90.  
  91. # + ", "
  92. move $a0, $v0
  93. la $a1, seperate + 4 # ", "
  94. move $a2, $v0
  95. jal StrConCat
  96. move $t0, $v0
  97.  
  98. # + toString(time.year)
  99. lw $a0, ($sp)
  100. jal Year
  101. sw $a0, ($sp)
  102. move $a0, $v0
  103. move $a1, $a3
  104. jal ToString
  105.  
  106. move $a0, $t0
  107. move $a1, $v0
  108. move $a2, $t0
  109. jal StrConCat
  110.  
  111. j Convert.Exit
  112.  
  113. Convert.Do3:
  114. # toString(time.day)
  115. jal Day
  116. move $a0, $v0
  117. move $a1, $a2
  118. jal ToString
  119.  
  120. # + ' '
  121. move $a0, $v0
  122. la $a1, seperate + 2 # " "
  123. move $a2, $v0
  124. jal StrConCat
  125. move $t0, $v0
  126.  
  127. # + month[time.month - 1]
  128. lw $a0, ($sp)
  129. jal Month
  130. addi $v0, $v0, -1
  131. li $t1, 4
  132. mult $v0, $t1
  133. mflo $t1
  134.  
  135. sw $a0, ($sp)
  136. move $a0, $t0
  137. la $a1, month($t1)
  138. move $a2, $t0
  139. jal StrConCat
  140.  
  141. # + ", "
  142. move $a0, $v0
  143. la $a1, seperate + 4 #------------------------ ERROR ???-----------------------
  144. move $a2, $v0
  145. jal StrConCat
  146. move $t0, $v0
  147.  
  148. # + toString(time.year)
  149. lw $a0, ($sp)
  150. jal Year
  151. sw $a0, ($sp)
  152. move $a0, $v0
  153. move $a1, $a3
  154. jal ToString
  155.  
  156. move $a0, $t0
  157. move $a1, $v0
  158. move $a2, $t0
  159. jal StrConCat
  160.  
  161. Convert.Exit:
  162.  
  163. lw $a0, ($sp)
  164. lw $ra, 4($sp)
  165. addi $sp, $sp, 8
  166. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement