eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[asm] normalize na fpu › [asm] normalize na fpu
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: " kenobi" <f...@g...pl>
    Newsgroups: pl.comp.programming
    Subject: [asm] normalize na fpu
    Date: Sun, 12 Aug 2012 09:48:31 +0000 (UTC)
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 45
    Message-ID: <k07u5f$930$1@inews.gazeta.pl>
    NNTP-Posting-Host: localhost
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1344764911 9312 172.20.26.238 (12 Aug 2012 09:48:31 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sun, 12 Aug 2012 09:48:31 +0000 (UTC)
    X-User: fir
    X-Forwarded-For: 31.62.175.233
    X-Remote-IP: localhost
    Xref: news-archive.icm.edu.pl pl.comp.programming:199251
    [ ukryj nagłówki ]

    wyprodukowalem taka funkcje do normalizacji
    wektora 3 floatow

    _asm_normalize10:; Function begin
    push ebp ; 002E _ 55
    mov ebp, esp ; 002F _ 89. E5
    mov eax, dword [ebp+8H] ; 0031 _ 8B. 45, 08
    fld dword [eax] ; 0034 _ D9. 00
    fmul st0, st(0) ; 0036 _ DC. C8
    fld dword [eax+4H] ; 0038 _ D9. 40, 04
    fmul st0, st(0) ; 003B _ DC. C8
    fld dword [eax+8H] ; 003D _ D9. 40, 08
    fmul st0, st(0) ; 0040 _ DC. C8
    faddp st1, st(0) ; 0042 _ DE. C1
    faddp st1, st(0) ; 0044 _ DE. C1
    fsqrt ; 0046 _ D9. FA
    fld1 ; 0048 _ D9. E8
    fdivrp st1, st(0) ; 004A _ DE. F1
    fld dword [eax] ; 004C _ D9. 00
    fmul st(0), st1 ; 004E _ D8. C9
    fstp dword [eax] ; 0050 _ D9. 18
    fld dword [eax+4H] ; 0052 _ D9. 40, 04
    fmul st(0), st1 ; 0055 _ D8. C9
    fstp dword [eax+4H] ; 0057 _ D9. 58, 04
    fld dword [eax+8H] ; 005A _ D9. 40, 08
    fmulp st1, st(0) ; 005D _ DE. C9
    fstp dword [eax+8H] ; 005F _ D9. 58, 08
    pop ebp ; 0062 _ 5D
    ret ; 0063 _ C3
    ; _asm_normalize10 End of function

    90 cykli - i tak szybciej niz to co wyprodukowal moj
    kompiletor (150) [dokladnie nie wiem nawet czemu
    moze przez to ze ta funkcja jest okrojona tj nie
    sprawdza czy nie ma dzielenia przez 0 ;-)

    chcialbym to poprawic, czy ktos zna jakies zasady
    'polepszania' takich funkcji ? i moglby zaproponowac
    poprawki?




    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: