Article View: pl.comp.lang.asm
Article #1848Re: mutacja kodu asm
From: Wojciech Muła
Date: Mon, 30 Jun 2008 19:10
Date: Mon, 30 Jun 2008 19:10
24 lines
2368 bytes
2368 bytes
On Mon, 30 Jun 2008 19:26:09 +0200 Wojciech Muła <wojciech_mula@poczta.null.onet.pl.invalid> wrote: > Jest jeszcze taki trik -- realizacja BSF za pomocą koprocesora (albo > SSE). Po konwersji int -> float w wykładniku liczby > zmiennoprzecinkowej znajduje się pozycja pierwszego ustawionego bitu: Korzystając z cech liczb zmp. można przesuwać w lewo lub prawo liczby nawet 52-bitowe (w kodzie 32-bitowy -- 31-bitowe). Np. masz jakąś 10-bitową stałą, to binarnie będzie: xx_xxxx_xxxx. Teraz możesz wstawić przed najbardziej znaczącym bitem jedynkę, np. na pozycji 15: 1000_00xx_xxxx_xxxx. Po konwersji na liczbę zmp. typu double (64 bity) masz coś takiego: S wwwwwwwwwww 000_00xx_xxxx_xxxx_0..0 | 11 bitów 52 bity mantysy | wykładnika bit znaku Tylko trzeba sobie dobrać tak przesunięcie, żeby jednym nierzucającym się w oczym MOVem odczytać z pamięci odpowiedni kawałek mantysy. :) w.
Technical Details
Message-ID:
<20080630211043.1372afd7@cat.tac>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mailReferences:
<1rx2rdgwi70m8$.1u97v8583ddbw$.dlg@40tude.net> <20080624174715.11590c57@cat.tac> <zsvo782yvkug$.13ttzjsfqwlw7.dlg@40tude.net> <g4246t$2up$1@nemesis.news.neostrada.pl> <hamp7i37h63q$.4m3q2jzu1l8u.dlg@40tude.net> <20080627182328.02edf22c.wojciech_mula@poczta.null.onet.pl.invalid> <epug7f4uaaby$.1g3iwqkvxtm9w$.dlg@40tude.net> <20080628124211.641a70a4@cat.tac> <g48cjo$7n7$1@nemesis.news.neostrada.pl> <20080630171510.5bcf88be.wojciech_mula@poczta.null.onet.pl.invalid> <83eijnhn9hie.t1h0kud5092a$.dlg@40tude.net> <20080630192609.3faeef39.wojciech_mula@poczta.null.onet.pl.invalid>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail From: Wojciech Muła <wojciech_mula@poczta.null.onet.pl.invalid> Newsgroups: pl.comp.lang.asm Subject: Re: mutacja kodu asm Date: Mon, 30 Jun 2008 21:10:43 +0200 Organization: http://www.republika.pl/wmula Lines: 28 Message-ID: <20080630211043.1372afd7@cat.tac> References: <1rx2rdgwi70m8$.1u97v8583ddbw$.dlg@40tude.net> <20080624174715.11590c57@cat.tac> <zsvo782yvkug$.13ttzjsfqwlw7.dlg@40tude.net> <g4246t$2up$1@nemesis.news.neostrada.pl> <hamp7i37h63q$.4m3q2jzu1l8u.dlg@40tude.net> <20080627182328.02edf22c.wojciech_mula@poczta.null.onet.pl.invalid> <epug7f4uaaby$.1g3iwqkvxtm9w$.dlg@40tude.net> <20080628124211.641a70a4@cat.tac> <g48cjo$7n7$1@nemesis.news.neostrada.pl> <20080630171510.5bcf88be.wojciech_mula@poczta.null.onet.pl.invalid> <83eijnhn9hie.t1h0kud5092a$.dlg@40tude.net> <20080630192609.3faeef39.wojciech_mula@poczta.null.onet.pl.invalid> NNTP-Posting-Host: abuq98.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: atlantis.news.neostrada.pl 1214853130 27121 83.8.188.98 (30 Jun 2008 19:12:10 GMT) X-Complaints-To: usenet@news.neostrada.pl NNTP-Posting-Date: Mon, 30 Jun 2008 19:12:10 +0000 (UTC) X-Newsreader: Claws Mail 3.4.0 (GTK+ 2.12.10; i486-pc-linux-gnu) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit