Article View: pl.comp.lang.asm
Article #2154Re: Kolejna prosta zagadka
From: Andrzej Grażyński
Date: Wed, 24 Mar 2010 18:56
Date: Wed, 24 Mar 2010 18:56
44 lines
1964 bytes
1964 bytes
Wojciech Muła pisze: > Andrzej Grażyński <grazynsk@petex.com.pl> wrote: > >>>> W EAX jest liczba ze znakiem, należy umieścić w EAX wartość funkcji >>>> signum(EAX), czyli >>>> >>>> 1 gdy w EAX jest liczba dodatnia (czyli bit znaku = 0 i nie wszystkie >>>> bity są zerowe) >>>> >>>> 0 gdy w jest 0 (wszystkie bity są zerowe) >>>> >>>> -1 gdy w EAX jest liczba ujemna (bit znaku = 1) >>> Moja wersja ma 6 instrukcji. >>> Pokażcie swoje :) >> CDQ >> NEG EAX >> RCL EDX,1 >> MOV EAX,EDX > > Wow, jestem pod wrażeniem. :) Naprawdę sprytne. > Moje podejście w ogóle nie wymaga dostępu do znacznika > przeniesienia i wykorzystuje jedynie proste instrukcje. > > sar eax, 32 Niestety, wielkość przesunięcia obcinana jest do 5 bitów, więc SAR EAX,32 oznacza to samo, co SAR EAX,0 Inny mój wariant: MOV EDX,EAX OR EAX,EAX SETG AL SETL DL SUB EAX,EDX >
Technical Details
Message-ID:
<hodn8d$jfd$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mailReferences:
<ho88he$kjj$1@news.onet.pl> <20100323120156.49223bbd.wojciech_mula@poczta.null.onet.pl.invalid> <hob84e$ieq$1@news.onet.pl> <20100324103535.3bd86427.wojciech_mula@poczta.null.onet.pl.invalid>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail From: Andrzej Grażyński <grazynsk@petex.com.pl> Newsgroups: pl.comp.lang.asm Subject: Re: Kolejna prosta zagadka Date: Wed, 24 Mar 2010 19:56:04 +0100 Organization: http://onet.pl Lines: 44 Message-ID: <hodn8d$jfd$1@news.onet.pl> References: <ho88he$kjj$1@news.onet.pl> <20100323120156.49223bbd.wojciech_mula@poczta.null.onet.pl.invalid> <hob84e$ieq$1@news.onet.pl> <20100324103535.3bd86427.wojciech_mula@poczta.null.onet.pl.invalid> NNTP-Posting-Host: public-gprs1285.centertel.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1269456974 19949 87.96.5.5 (24 Mar 2010 18:56:14 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Wed, 24 Mar 2010 18:56:14 +0000 (UTC) User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) In-Reply-To: <20100324103535.3bd86427.wojciech_mula@poczta.null.onet.pl.invalid> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit