-
Data: 2013-12-05 09:15:51
Temat: Re: minmax(a,b,c)
Od: firr <p...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu środa, 4 grudnia 2013 22:09:28 UTC+1 użytkownik bartekltg napisał:
> W dniu 2013-12-04 20:05, firr pisze:
>
> >>
>
> >>
>
> >> [ciach]
>
> >>
>
> >>
>
> >>
>
> >> A co to za kloc?
>
> >>
>
> >> Dostałeś przecież _całą_ procedurę. Nic więcej nie trzeba.
>
> >>
>
> >
>
> > no to jest to samo tylka ta krotsza nadpisuje
>
> > ram dwa razy, moze te bylaby costam szybsza
>
>
>
> Ta funkcja przy dobrej optymalizacji w ogóle nie dotyka RAMu
>
> aż do ostatecznego zapisu.
>
>
>
>
>
> > (choc ciezko powiedziec - najlepiej by bylorozmawaic o procedurach w asmie ale
niestety
>
>
>
>
>
> A proszę, lekko zmodyfikowana wersja, kompiluje się w VS2010
>
> do ciut lepszego kodu. Miałem podać w c++, ale skoro chcesz w asm.
>
>
>
> Argumenty przychodzą w edx, r8d, r9d, wynik do pamięci pod
>
> adres trzymany w rcx (hmm)
>
>
>
> ciało funkcji:
>
>
>
> cmp edx, r8d
>
> jge SHORT $LN7@minmax3
>
> mov eax, edx //WTF
>
> mov edx, r8d //tu było swap(a,b)
>
> mov r8d, eax //czemu nie po prostu xchg?
>
> $LN7@minmax3:
>
> cmp r9d, edx
>
> jle SHORT $LN3@minmax3
>
> mov edx, r9d
>
>
>
> mov DWORD PTR [rcx+4], r8d
>
> mov rax, rcx
>
> mov DWORD PTR [rcx], edx
>
>
>
> > malo kto zna dzis asma na przyzwoitym poziomie)
>
to nie jest kompletna procedura, z tego co widze
ona tylko wyszukuje max przez dwa prownania
edx>r8d, edx>r9d
natomiast nie porownuje wogole r8d z r9d
takczyowak zachecam do kontunuowania watkow
asma bo warto pocwiczyc a jak niektorzy
zwracaja uwage optymalizacja staje sie coraz
wazniejsza w obecnej erze (gdy szybkosc kompow
prawie juz przestala wzrastac)
Następne wpisy z tego wątku
- 05.12.13 09:22 firr
- 05.12.13 10:05 firr
- 05.12.13 10:23 g...@g...com
- 05.12.13 10:44 firr
- 05.12.13 11:08 g...@g...com
- 05.12.13 11:54 firr
- 05.12.13 12:18 intuicjonista
- 05.12.13 13:18 firr
- 05.12.13 13:42 firr
- 05.12.13 15:07 firr
- 06.12.13 13:07 firr
- 06.12.13 13:15 firr
- 07.12.13 16:16 firr
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=