Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _SredniaKwadratowa PROC
- push ebp
- mov ebp, esp
- mov eax, [ebp + 8] ; adres tablicy
- finit
- fldz ; wynik
- fld dword PTR [eax] ; a
- fmul st(0), st(0) ; a^2
- faddp st(1), st(0) ; wynik = a^2
- fld dword PTR [eax+4] ; b
- fmul st(0), st(0) ; b^2
- faddp st(1), st(0) ; wynik = a^2 + b^2
- fld dword PTR [eax+8] ; c
- fmul st(0), st(0) ; c^2
- faddp st(1), st(0) ; wynik = a^2 + b^2 + c^2
- ; dzielenie (sposob na Janusza, bez używania danych statycznych)
- fld1
- fld1
- ; st(0) = 1, st(1) = 1, st(2) = wynik
- fadd st(1), st(0)
- faddp st(1), st(0) ; st(0) = 3 -> nasz mianownik, st(1) = wynik
- fdivp st(1), st(0) ; st(0) = (a^2 + b^2 + c^2)/3
- ; pierwiastkowanie -> wynik^(1/2)
- fsqrt
- ; st(0) = sqrt((a^2 + b^2 + c^2)/3)
- pop ebp
- ret
- _SredniaKwadratowa ENDP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement