🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Podobna zagadka

#2204
From: Bernard
Date: Mon, 12 Apr 2010 18:36
37 lines
2085 bytes
On 2010-04-12 16:14, Andrzej Grażyński wrote:
> Andrzej Grażyński pisze:
>> Dane jest pole o adresie początku w ESI i długości w bajtach w ECX.
>> Należy odwrócić kolejność BITÓW.
>
> SHL ECX,3
> JZ @@Done
> MOV EBX,ECX
> XOR EDX,EDX
>
> @@Loop:
> DEC EBX
> BT [ESI],EBX
> SETC AL
> BT [ESI], EDX
> SBB AL,0
> JZ @@Ancora
> BTC [ESI],EBX
> BTC [ESI],EDX
> @@Ancora:
> INC EDX
> LOOP @Loop
> @@Done:


Przyjmując optymistycznie, że kod jest wolny od błędów, otrzymujemy 4 
obiegi pętli na bajt wektora, każdy obieg średnio po 9 instrukcji z 
nieprzewidywalnym skokiem (JZ), czyli 36 instrukcji na bajt z ośmioma 
nieprzewidywalnymi skokami o koszcie kilkudziesięciu instrukcji każdy. 
Każdy bajt będzie przy tym odczytywany średnio 12 razy i zapisywany 4 - 
sporo.

Moje rozwiązanie ma 11.5 instrukcji na bajt bez skoku zależnego od 
danych, po jednym odczycie i zapisie na bajt. Wolne pojedyncze 
instrukcje AAD można zastąpić szybkimi parami shl + or.

c.b.d.o. :)
Technical Details
Message-ID: <hpvp7i$3h2$1@newsread1.aster.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!goblin2!goblin.stu.neva.ru!plix.pl!newsfeed1.plix.pl!nntp.aster.pl!newsread1.aster.pl!not-for-mail
References: <hpo4ih$5ub$2@news.onet.pl> <hpv9sg$bpb$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!goblin2!goblin.stu.neva.ru!plix.pl!newsfeed1.plix.pl!nntp.aster.pl!newsread1.aster.pl!not-for-mail
From: Bernard <bernard@earth.net>
Newsgroups: pl.comp.lang.asm
Subject: Re: Podobna zagadka
Date: Mon, 12 Apr 2010 20:36:16 +0200
Organization: Aster Sp. z o.o.
Lines: 37
Message-ID: <hpvp7i$3h2$1@newsread1.aster.pl>
References: <hpo4ih$5ub$2@news.onet.pl> <hpv9sg$bpb$1@news.onet.pl>
NNTP-Posting-Host: 187-mo6-2.acn.waw.pl
Mime-Version: 1.0
X-Trace: newsread1.aster.pl 1271097394 3618 82.210.165.187 (12 Apr 2010 18:36:34 GMT)
X-Complaints-To: abuse@aster.pl
NNTP-Posting-Date: Mon, 12 Apr 2010 18:36:34 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
In-Reply-To: <hpv9sg$bpb$1@news.onet.pl>
X-Antivirus: avast! (VPS 100412-1, 2010-04-12), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit