Einzelnen Beitrag anzeigen

dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#102

Re: Random ist kein reiner Zufall

  Alt 2. Apr 2007, 20:15
nun versuch ichs mal damit:
Delphi-Quellcode:
procedure _RandInt;
asm
{     ->EAX     Range   } 
{     <-EAX     Result  } 
        PUSH EBX
{$IFDEF PIC} 
        PUSH EAX
        CALL GetGOT
        MOV EBX,EAX
        POP EAX
        MOV ECX,[EBX].OFFSET RandSeed
        IMUL EDX,[ECX],08088405H
        INC EDX
        MOV [ECX],EDX
{$ELSE} 
        XOR EBX, EBX
        IMUL EDX,[EBX].RandSeed,08088405H
        INC EDX
        MOV [EBX].RandSeed,EDX
{$ENDIF} 
        MUL EDX
        MOV EAX,EDX
        POP EBX
end;
1. Frage: ich weiss nun, dass Push den wert im stack abspeichert.
überschreibt push eax nun push ebx oder gibts für beide register nen einzelnen stack?
2. Frage: "call getgot" ich weiss was call ist, aber was ist getgot?
3. Frage: [EBX].Randseed: was ist das? hat der register Ebx noch unterregister oder wie?
  Mit Zitat antworten Zitat