SHARE
TWEET

Untitled

a guest May 21st, 2019 67 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top