eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingminmax(a,b,c)Re: minmax(a,b,c)
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!.POSTED!not-for-mail
    From: bartekltg <b...@g...com>
    Newsgroups: pl.comp.programming
    Subject: Re: minmax(a,b,c)
    Date: Wed, 04 Dec 2013 22:09:28 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 53
    Message-ID: <l7o5nr$5v8$1@node2.news.atman.pl>
    References: <5...@g...com>
    <l7nqcc$q5f$1@node2.news.atman.pl>
    <5...@g...com>
    <l7nt2e$so1$1@node2.news.atman.pl>
    <5...@g...com>
    NNTP-Posting-Host: 89-76-71-155.dynamic.chello.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1386191419 6120 89.76.71.155 (4 Dec 2013 21:10:19 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Wed, 4 Dec 2013 21:10:19 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.1.1
    In-Reply-To: <5...@g...com>
    Xref: news-archive.icm.edu.pl pl.comp.programming:204755
    [ ukryj nagłówki ]

    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)

    Wiec się ucz, ucz.

    pzdr
    bartekltg



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: