Registriert seit: 16. Apr 2007
2.325 Beiträge
Turbo Delphi für Win32
|
Re: [ASM] Lange Strings als Function - Wert zurückgeben
21. Jan 2008, 21: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."
|