Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Probleme mit ASM (https://www.delphipraxis.net/18415-probleme-mit-asm.html)

MisterNiceGuy 18. Mär 2004 10:59


Probleme mit ASM
 
Hi, ich will in ASM wie in Delphi mit succ eine String um jeweils einen Buchstaben "erhöhen" Ist aber ein Fehler im Code den ich nicht finde!!! :)

Code:
procedure TForm1.Button4Click(Sender: TObject);
var zeile : string;
begin
zeile := edit3.text;
   asm
      push Ebx     {Ebx retten}
      lea ebx,zeile {Adresse von Zeile holen}
      mov cl,[ebx] {in das 8-bit Register die untersten 8-bit
                     von ecx- die Länge des Strings}
      inc ebx      {ebx einen weiter setzen}
      mov ch,1      {ch auf 1 setzen --> Zähler}
      @marke:
             mov al,[ebx]  {Buchstaben holen}
             inc al        {codieren}
             mov [ebx],al  {zurückschreiben}
             inc ch        {zählen}
             inc ebx       {nächster Buchstabe}
             cmp ch,cl
      jb @marke
      pop ebx
   end;
edit3.Text := zeile;
end;

MisterNiceGuy 18. Mär 2004 11:25

Re: Probleme mit ASM
 
Habs schon rausbekommen, die Länge des Stings ist anzugeben!

Code:
zeiche:string[100];
Bye

himitsu 18. Mär 2004 11:47

Re: Probleme mit ASM
 
Oder

Delphi-Quellcode:
Var Zeile: ShortString;
den Standardmäßig ist String = AnsiString.

Und da greifst du so ja nur auf den Zeiger zum String und nicht den String zu.

Dannyboy 18. Mär 2004 12:21

Re: Probleme mit ASM
 
@MisterNiceGuy
Denk' noch an den Sonderfall der Buchstaben 'z' und 'Z'! Mach' da dann mal
am Besten ein 'a' bzw. 'A' draus.
Gruß
DANNYBOY


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz