Advertisement
Guest User

Untitled

a guest
May 21st, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. .data
  2. menu: .asciiz " Enter polynomial level: \n "
  3. msg1: .asciiz " Enter coefficient of x^"
  4. przerwa: .asciiz " "
  5. answer: .asciiz " = "
  6. msg2: .asciiz " Enter coefficient of x "
  7. x: .asciiz "x^"
  8.  
  9. znakPlusa: .asciiz " + "
  10. znakMinusa: .asciiz " - "
  11. .text
  12. main:
  13. li $v0, 4
  14. la $a0, menu
  15. syscall
  16.  
  17. li $v0, 5
  18. syscall
  19.  
  20. move $t4, $v0
  21.  
  22. j podaj_liczbe
  23.  
  24. podaj_liczbe:
  25.  
  26. bge $t5, $t4, wartoscX
  27.  
  28. li $v0, 4
  29. la $a0, msg1
  30. syscall
  31.  
  32. li $v0, 1
  33. move $a0, $t5
  34. syscall
  35.  
  36. li $v0, 4
  37. la $a0, przerwa
  38. syscall
  39.  
  40. li $v0, 5
  41. syscall
  42. move $t2, $v0
  43.  
  44. addi $sp, $sp, -4
  45. sw $t2, 0($sp)
  46.  
  47. add $t5, $t5, 1
  48.  
  49. blt $t5, $t4, podaj_liczbe
  50.  
  51. wartoscX:
  52.  
  53. sub $t5, $t5, 1
  54.  
  55. li $v0, 4
  56. la $a0, msg2
  57. syscall
  58.  
  59. li $v0, 5
  60. syscall
  61. move $t0, $v0
  62. # $t0 to wartosc X
  63.  
  64. j obliczWielomian
  65.  
  66.  
  67. power:
  68. li $t3, 1
  69.  
  70. move $t2, $t5
  71.  
  72. pot:
  73. beqz $t2, dodawanieWielomianu
  74. #dekrementacja
  75. sub $t2, $t2, 1
  76.  
  77. mul $t3, $t0, $t3
  78. j pot
  79.  
  80.  
  81.  
  82. obliczWielomian:
  83.  
  84. jal power
  85.  
  86. dodawanieWielomianu:
  87.  
  88. sub $t5, $t5, 1
  89.  
  90. addi $t6, $t3, 0
  91.  
  92. lw $t7, 0($sp)
  93. addi $sp, $sp, 4
  94.  
  95.  
  96.  
  97. mul $t4, $t6, $t7
  98.  
  99. add $t1, $t4, $t1
  100.  
  101. addi $t5, $t5, 1
  102. bgezal $t7, wyswietlX
  103. bltzal $t7, wyswietlXDalej
  104.  
  105. bltz $t5, zakoncz
  106. j obliczWielomian
  107.  
  108. wyswietlX:
  109.  
  110.  
  111. li $v0, 4
  112. la $a0, znakPlusa
  113. syscall
  114.  
  115. j wyswietlXDalej
  116.  
  117. wyswietlXDalej:
  118.  
  119. move $a0, $t7
  120. li $v0, 1
  121. syscall
  122.  
  123.  
  124. li $v0, 4
  125. la $a0, x
  126. syscall
  127.  
  128. move $a0, $t5
  129. li $v0, 1
  130. syscall
  131.  
  132. sub $t5, $t5, 1
  133. jr $ra
  134.  
  135. zakoncz:
  136. li $v0, 4
  137. la $a0, answer
  138. syscall
  139.  
  140. move $a0, $t1
  141. li $v0, 1
  142. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement