Article View: pl.comp.lang.asm
Article #858Re: string reverse
From: mikezum
Date: Mon, 04 Dec 2006 19:46
Date: Mon, 04 Dec 2006 19:46
62 lines
2519 bytes
2519 bytes
> Przecierz w asemblerze nie ma rzutowania,
> wydaje mi sie ze to taki 'skrot myslowy'.
> Poczekajmy az OP doprecyzuje czy chodzi mu
> o zmiane kolejnosci bajtow, czy cos z pogranicza
> endianowosci, czy tez jeszcze cos innego.
Panowie, a czy ktos powiedzial, ze ja pisze tylko w czystym assemblerze ?
To po pierwsze :)
Rzutowanie, czyli traktowanie liczby zapisanej w postaci intelowskiej na
postac "zwykla" cokolwiek mialoby to oznaczac
Z tym sobie juz powradzilem poradzilem
procedure ValueToValueIntel(var BufferIn;var BufferOut;const
BufferLen:integer);
var
pBufferIn:pByte;
pBufferOut:pByte;
begin
If BufferLen =0 then exit;
pBufferIn:=@BufferIn;
pBufferOut:=@BufferOut;
Inc(pBufferOut,BufferLen-1);
asm
PUSH EAX
PUSH EBX
PUSH ECX
MOV ECX,BufferLen
LEA EBX,pBufferIn
MOV EBX,[EBX]
LEA EDX,pBufferOut
MOV EDX,[EDX]
@@Loop:
MOV EAX,[EBX]
MOV [EDX-3],EAX
inc EBX
inc EBX
inc EBX
inc EBX
DEC EDX
DEC EDX
DEC EDX
DEC EDX
DEC ECX
DEC ECX
DEC ECX
DEC ECX
JNZ @@Loop
POP ECX
POP EBX
POP EAX
end;
end;
Oczywiscie dla uproszczenia liczby przesylane beda 8 bajtowe czyli int64
Nie wiem tylko czy lepiej dac cztery razy inc czy raz add ( coi bedzie
szybsze) ?
Druga sprawa, czy ktos wie dlaczego dwie instrukcje czyli bsr i bsf zwracaj
a ten sam wynik ???
MOV EAX, 1
bsr EBX,EAX // EBX =7 przeciez to jest Bit Scan Reverse ???!!
MOV EAX, 1
bsf EBX,EAX // EBX =7 przeciez to jest Bit Scan Forward ???!!
????
Technical Details
Message-ID:
<1fa3760oiybh8.7xk0unla13io.dlg@40tude.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mailReferences:
<8j3qqhx2oh2t.16ahj7wfz15t2$.dlg@40tude.net> <ekrivu$srf$1@news.onet.pl> <ekrl05$9tt$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!newsfeed.silweb.pl!news.onet.pl!not-for-mail From: mikezum <noname@poczta.onet.pl> Newsgroups: pl.comp.lang.asm Subject: Re: string reverse Date: Mon, 4 Dec 2006 20:46:04 +0100 Organization: Onet.pl Lines: 62 Message-ID: <1fa3760oiybh8.7xk0unla13io.dlg@40tude.net> References: <8j3qqhx2oh2t.16ahj7wfz15t2$.dlg@40tude.net> <ekrivu$srf$1@news.onet.pl> <ekrl05$9tt$1@inews.gazeta.pl> Reply-To: noname@poczta.onet.pl NNTP-Posting-Host: ait107.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1165261566 8701 83.25.227.107 (4 Dec 2006 19:46:06 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Mon, 4 Dec 2006 19:46:06 +0000 (UTC) X-Sender: CdagKO+oJ2UUzfYlipD2ge/N20Tu+fLh User-Agent: 40tude_Dialog/2.0.11.1pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit