Advertisement
Guest User

Untitled

a guest
Apr 27th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.     r:  .asciiz "\nPodaj promien r: "
  3.     tt: .asciiz " : \n"
  4.     wsp:    .asciiz "Podaj wspolrzedne punktu  "
  5.     x.asciiz "x = "
  6.     y.asciiz "y =  "
  7.     les:    .asciiz "\nPunkt jest ogrzniczony okregiem "
  8.     eq: .asciiz "\nPunkt lezy na okregu"
  9.     mo: .asciiz "\nPunkt jest poza okregiem"
  10.     ok: .asciiz "\nWczytac nowe parametry okregu? 0 - TAK - "
  11.     repl:   .asciiz "\n\nWczytac nowy punkt? 0 - TAK - "
  12.     wyniki: .asciiz "\n\nWyniki:  "
  13.     msgles: .asciiz "\nPunkt byl ograniczony okregiem:  "
  14.     msgeq:  .asciiz "\nPunkt lezal na okregu: "
  15.     msgmo:  .asciiz "\nPunkt byl poza okregiem: "
  16. .text
  17.        
  18.    
  19. main:
  20.     move $t4, $0  #sum of being less
  21.         move $t5, $0  #sum of being equal
  22.     move $t6, $0  #sum of being bigger
  23.    
  24.     #Display r
  25.     li $v0 4
  26.     la $a0,r
  27.     syscall
  28.    
  29.     #reading R
  30.     li $v0, 5
  31.     syscall
  32.     move $t0, $v0  # $t0 = r
  33.     mul $t0, $t0, $t0
  34.    
  35.     move $t7, $0
  36.    
  37.  
  38.  
  39. next:
  40.  
  41.     #Display wsp
  42.     li $v0 4
  43.     la $a0,wsp
  44.     syscall
  45.    
  46.     li $v0 1
  47.     add $t7, $t7, 1
  48.     move $a0,$t7
  49.     syscall
  50.    
  51.     li $v0 4
  52.     la $a0,tt
  53.     syscall
  54.    
  55.     #Display x
  56.     li $v0 4
  57.     la $a0,x
  58.     syscall
  59.    
  60.     #reading x
  61.     li $v0, 5
  62.     syscall
  63.     move $t1, $v0   #$t1 = x
  64.    
  65.     #Display msg
  66.     li $v0 4
  67.     la $a0,y
  68.     syscall
  69.    
  70.     #reading y
  71.     li $v0, 5
  72.     syscall
  73.     move $t2, $v0  #  $t2 = y
  74.  
  75.     #squares of our numbers
  76.     mul $t1, $t1,$t1
  77.     mul $t2, $t2, $t2
  78.    
  79.     # sum of x & y squares
  80.     move $t3, $0
  81.     add $t3, $t1, $t2  # x^2 + y^2 = $t3
  82.  
  83.     # x^2 + y^2 < r^2
  84.     blt $t3, $t0, less
  85.    
  86.    
  87.     # x^2 + y^2 = r^2
  88.     beq $t3, $t0, equal
  89.  
  90.    
  91.     # then more
  92.     li $v0 4
  93.     la $a0,mo
  94.     syscall
  95.    
  96.     add $t6, $t6, 1
  97.    
  98.     j reply
  99.    
  100. less:
  101.     # display less
  102.     li $v0 4
  103.     la $a0,les
  104.     syscall
  105.    
  106.     add $t4,$t4, 1
  107.    
  108.     j reply
  109.    
  110. equal:
  111.     li $v0 4
  112.     la $a0,eq
  113.     syscall
  114.    
  115.     add $t5,$t5, 1
  116.    
  117.  
  118. reply:
  119.  
  120.     #reply
  121.    
  122.     li $v0, 4
  123.     la $a0,repl
  124.     syscall
  125.    
  126.     li $v0, 5
  127.     syscall
  128.    
  129.     beq $v0, $0, next
  130.    
  131.    
  132.     #display results
  133.     li $v0, 4
  134.     la $a0,wyniki
  135.     syscall
  136.    
  137.     #How many times less than r^2
  138.     li $v0, 4
  139.     la $a0,msgles
  140.     syscall
  141.    
  142.     li $v0, 1
  143.     move $a0,$t4
  144.     syscall
  145.    
  146.     #How many times equal to r^2
  147.     li $v0, 4
  148.     la $a0,msgeq
  149.     syscall
  150.    
  151.     li $v0, 1
  152.     move $a0,$t5
  153.     syscall
  154.    
  155.     #How many times more than r^2
  156.     li $v0, 4
  157.     la $a0,msgmo
  158.     syscall
  159.    
  160.     li $v0, 1
  161.     move $a0,$t6
  162.     syscall
  163.    
  164.     #Display New R
  165.     li $v0 4
  166.     la $a0,ok
  167.     syscall
  168.    
  169.     li $v0, 5
  170.     syscall
  171.    
  172.     beq $v0, $0, main
  173.    
  174.     #end
  175.    
  176.     li $v0, 10
  177.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement