Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- menu: .asciiz " Enter polynomial level: \n "
- msg1: .asciiz " Enter coefficient of x^"
- przerwa: .asciiz " "
- answer: .asciiz " = "
- msg2: .asciiz " Enter coefficient of x "
- x: .asciiz "x^"
- znakPlusa: .asciiz " + "
- znakMinusa: .asciiz " - "
- .text
- main:
- li $v0, 4
- la $a0, menu
- syscall
- li $v0, 5
- syscall
- move $t4, $v0
- j podaj_liczbe
- podaj_liczbe:
- bge $t5, $t4, wartoscX
- li $v0, 4
- la $a0, msg1
- syscall
- li $v0, 1
- move $a0, $t5
- syscall
- li $v0, 4
- la $a0, przerwa
- syscall
- li $v0, 5
- syscall
- move $t2, $v0
- addi $sp, $sp, -4
- sw $t2, 0($sp)
- add $t5, $t5, 1
- blt $t5, $t4, podaj_liczbe
- wartoscX:
- sub $t5, $t5, 1
- li $v0, 4
- la $a0, msg2
- syscall
- li $v0, 5
- syscall
- move $t0, $v0
- # $t0 to wartosc X
- j obliczWielomian
- power:
- li $t3, 1
- move $t2, $t5
- pot:
- beqz $t2, dodawanieWielomianu
- #dekrementacja
- sub $t2, $t2, 1
- mul $t3, $t0, $t3
- j pot
- obliczWielomian:
- jal power
- dodawanieWielomianu:
- sub $t5, $t5, 1
- addi $t6, $t3, 0
- lw $t7, 0($sp)
- addi $sp, $sp, 4
- mul $t4, $t6, $t7
- add $t1, $t4, $t1
- addi $t5, $t5, 1
- bgezal $t7, wyswietlX
- bltzal $t7, wyswietlXDalej
- bltz $t5, zakoncz
- j obliczWielomian
- wyswietlX:
- li $v0, 4
- la $a0, znakPlusa
- syscall
- j wyswietlXDalej
- wyswietlXDalej:
- move $a0, $t7
- li $v0, 1
- syscall
- li $v0, 4
- la $a0, x
- syscall
- move $a0, $t5
- li $v0, 1
- syscall
- sub $t5, $t5, 1
- jr $ra
- zakoncz:
- li $v0, 4
- la $a0, answer
- syscall
- move $a0, $t1
- li $v0, 1
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement