🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #1848

Re: mutacja kodu asm

#1848
From: Wojciech Muła
Date: Mon, 30 Jun 2008 19:10
24 lines
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-mail
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>

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