Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: [ASM] Lange Strings als Function - Wert zurückgeben

  Alt 21. Jan 2008, 20:22
Dein bedingter Sprung scheint mir sehr gewagt. Mov setzt keine Flags, also ist das Zero-Flag nach dem Zufallsprinzip gesetzt.
Ich würde die Funktion folglich so schreiben:
Delphi-Quellcode:
function ASM_StrLaengeKurz(s: String): integer;
ASM
  TEST EAX, EAX
  JZ @@EmptyString // S = ''
  MOV EAX, [EAX - 4]
@@EmptyString:
END;
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat