Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. _SredniaKwadratowa PROC
  2.  
  3. push ebp
  4. mov ebp, esp
  5.  
  6. mov eax, [ebp + 8] ; adres tablicy
  7.  
  8. finit
  9.  
  10. fldz ; wynik
  11. fld dword PTR [eax] ; a
  12. fmul st(0), st(0) ; a^2
  13. faddp st(1), st(0) ; wynik = a^2
  14.  
  15. fld dword PTR [eax+4] ; b
  16. fmul st(0), st(0) ; b^2
  17. faddp st(1), st(0) ; wynik = a^2 + b^2
  18.  
  19. fld dword PTR [eax+8] ; c
  20. fmul st(0), st(0) ; c^2
  21. faddp st(1), st(0) ; wynik = a^2 + b^2 + c^2
  22.  
  23. ; dzielenie (sposob na Janusza, bez używania danych statycznych)
  24.  
  25. fld1
  26. fld1
  27. ; st(0) = 1, st(1) = 1, st(2) = wynik
  28. fadd st(1), st(0)
  29. faddp st(1), st(0) ; st(0) = 3 -> nasz mianownik, st(1) = wynik
  30. fdivp st(1), st(0) ; st(0) = (a^2 + b^2 + c^2)/3
  31.  
  32. ; pierwiastkowanie -> wynik^(1/2)
  33.  
  34. fsqrt
  35. ; st(0) = sqrt((a^2 + b^2 + c^2)/3)
  36.  
  37. pop ebp
  38. ret
  39. _SredniaKwadratowa ENDP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement