-
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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-19 Warszawa => Software Engineer .Net <=
- 2024-10-19 Warszawa => Senior SAP HANA Developer <=
- 2024-10-19 Warszawa => Specjalista Helpdesk <=
- 2024-10-19 PUE ZUS -- administracyjna nuda...
- 2024-10-18 Marsz niepodleglosci
- 2024-10-18 Pożar parkingu w Luton
- 2024-10-18 Łódź => Spedytor Międzynarodowy <=
- 2024-10-18 Gdańsk => Technical Lead ( (Java Background)) <=
- 2024-10-18 Warszawa => Head of International Freight Forwarding Department <=
- 2024-10-18 uwazajmy na haczyki w umowach
- 2024-10-18 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-10-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-10-18 Gdańsk => Software .Net Developer <=
- 2024-10-18 Warszawa => Junior Rekruter <=
- 2024-10-18 Warszawa => Key Account Manager <=