Registriert seit: 22. Jun 2018
2.175 Beiträge
|
AW: XP Usermanagers 6.1 Open Source
31. Jan 2020, 16:53
An dieser Prozedur scheitert es in 64 Bit zu kompilieren
Delphi-Quellcode:
function StrIComp( const Str1, Str2: PChar): Integer; assembler;
asm
PUSH EDI
PUSH ESI
MOV EDI,EDX
MOV ESI,EAX
MOV ECX,0FFFFFFFFH
XOR EAX,EAX
REPNE SCASB
NOT ECX
MOV EDI,EDX
XOR EDX,EDX
@@1: REPE CMPSB
JE @@4
MOV AL,[ESI-1]
CMP AL,' a'
JB @@2
CMP AL,' z'
JA @@2
SUB AL,20H
@@2: MOV DL,[EDI-1]
CMP DL,' a'
JB @@3
CMP DL,' z'
JA @@3
SUB DL,20H
@@3: SUB EAX,EDX
JE @@1
@@4: POP ESI
POP EDI
end;
Durch das Hinzufügen von System.SysUtils kann man zwar die 32 Bit Version kompilieren und starten. Die 64 Bit startet aber nicht. Kompilieren lässt sie sich.
Geändert von DieDolly (31. Jan 2020 um 17:02 Uhr)
|
|
Zitat
|