Hallo Delphi-Freunde,
ich habe mal eine Frage zu der Funktion "DateTimeToTimeStamp" der
Unit SysUtils.
Ist Jemand in der Lage diesen Assemblercode in Delphicode zu übersetzen.
Vielen Dank für eure Bemühungen!
Delphi-Quellcode:
function DateTimeToTimeStamp(DateTime: TDateTime): TTimeStamp;
asm
PUSH EBX
{$IFDEF PIC}
PUSH EAX
CALL GetGOT
MOV EBX,EAX
POP EAX
{$ELSE}
XOR EBX,EBX
{$ENDIF}
MOV ECX,EAX
FLD DateTime
FMUL [EBX].FMSecsPerDay
SUB ESP,8
FISTP QWORD PTR [ESP]
FWAIT
POP EAX
POP EDX
OR EDX,EDX
JNS @@1
NEG EDX
NEG EAX
SBB EDX,0
DIV [EBX].IMSecsPerDay
NEG EAX
JMP @@2
@@1:
DIV [EBX].IMSecsPerDay
@@2: ADD EAX,DateDelta
MOV [ECX].TTimeStamp.Time,EDX
MOV [ECX].TTimeStamp.Date,EAX
POP EBX
end;