🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: string reverse

#858
From: mikezum
Date: Mon, 04 Dec 2006 19:46
62 lines
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-mail
References: <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