Advertisement
Guest User

Untitled

a guest
Jun 5th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.    
  3.     numer: .double 9.0
  4.     skladnik: .double 1550.0
  5.     ulamek: .double 0.55
  6.     jedynka: .double 1.0
  7.     mnoznik: .double 5.2
  8.     SUMA: .double 0.0
  9.     T: .space 1040
  10.     TB: .space 840
  11.    
  12.  
  13. .text
  14.  
  15. ;r1 zmienna sterujaca petla
  16.  
  17.     addi r1, r0, #130
  18.  
  19.     ld f0, skladnik
  20.     ld f2, ulamek
  21.     ld f4, numer
  22.     ld f6, jedynka
  23.  
  24. ;w f0 bede przechowywal wartosc dodawana do tablicy
  25.  
  26.     addd f0, f0, f2
  27.     addd f0, f0, f4
  28.  
  29. ;r2 bedzie wskazywal na i-ty element tablicy T
  30.  
  31.     addi r2, r0, T
  32.  
  33. ;petla wypelniajaca tablice T
  34.  
  35.     petla1:
  36.        
  37.         sd 0(r2), f0
  38.        
  39.         addd f0, f0, f6
  40.  
  41.         addi r2, r2, #8
  42.         subi r1, r1, #1    
  43.  
  44.     bnez r1, petla1
  45.    
  46. ;resetuje zmienna sterujaca petla
  47.  
  48.     addi r1, r0, #105
  49.  
  50. ;r2 bedzie wskazywal na i-ty element tablicy T
  51.  
  52.     addi r2, r0, T
  53.  
  54. ;r3 bedzie wskazywal na i-ty element tablicy TB
  55.  
  56.     addi r3, r0, TB
  57.  
  58. ;do f8 laduje mnoznik
  59.  
  60.     ld f8, mnoznik 
  61.  
  62.     petla2:
  63.    
  64.     ;T[i+1]
  65.  
  66.         ld f10, 8(r2)
  67.  
  68.     ;T[i+2]
  69.  
  70.         ld f12, 16(r2)
  71.  
  72.     ;T[i+3]
  73.  
  74.         ld f14, 24(r2)
  75.  
  76.     ;T[i+4]
  77.  
  78.         ld f16, 32(r2)
  79.  
  80.     ;T[i+5]
  81.  
  82.         ld f18, 40(r2)
  83.  
  84.     ;T[i+6]
  85.  
  86.         ld f20, 48(r2) 
  87.  
  88.     ;T[i]
  89.         ld f22, 0(r2)
  90.  
  91.         multd f24, f10, f20
  92.         multd f26, f24, f22
  93.         multd f24, f26, f8
  94.         addd f26, f12, f14
  95.         addd f26, f26, f16
  96.         subd f24, f24, f26
  97.         divd f24, f24, f18
  98.  
  99.         sd 0(r3), f24
  100.  
  101.     ;w f30 przechowuje sume elementow tablicy
  102.  
  103.         addd f30, f30, f24
  104.  
  105.         subi r1, r1, #1
  106.         addi r2, r2, #8
  107.         addi r3, r3, #8
  108.  
  109.     bnez r1, petla2
  110.  
  111. ;w rejestrze r4 umieszczam adres pamieci pod etykieta SUMA
  112.  
  113.     addi r4, r0, SUMA
  114.  
  115. ;w komorce pamieci o adresie r4 umieszczam liczbe double zaczynajaca sie w rejestrze f30
  116.  
  117.     sd 0(r4), f30
  118.  
  119. trap 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement