Schönen guten Abend zusammen. Aus Intresse hab ich mir mal überlegt ob es eigentlich möglich ist die Funktion IntToStr zu übersetzen, also ohne den Assembler.
Delphi-Quellcode:
function IntToStr(Value: Integer):
string;
// FmtStr(Result, '%d', [Value]);
asm
PUSH ESI
MOV ESI, ESP
SUB ESP, 16
XOR ECX, ECX
// base: 0 for signed decimal
PUSH EDX
// result ptr
XOR EDX, EDX
// zero filled field width: 0 for no leading zeros
CALL CvtInt
MOV EDX, ESI
POP EAX
// result ptr
CALL System.@LStrFromPCharLen
ADD ESP, 16
POP ESI
end;
Ich habe mich bisher noch recht wenig mit dem Assembler beschäftigt, darum wäre es vllt. mal interessant Ansätze für eine mögliche Übersetzung zu sehen.
Mit freundlichem Gruß