Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#4

AW: Benötige Hilfe bei einer Entschlüsselung bei altem Programm

  Alt 9. Feb 2012, 09:16
Das is ja noch einfacher:
Delphi-Quellcode:
var
  zz: array[0..5] of byte;
var
  p: word; {??? was ist das}

function nextrand: word;
begin
  asm
   push bx
   mov ax, Word ptr zz [0];
   mov bx, Word ptr zz [2];
   mov cx, Word ptr zz [4];

   sub ax, bx;
   jnc @@nrStore;
   add ax, p

@@nrStore:
   mov Word ptr zz [0], bx
   mov Word ptr zz [2], cx
   mov Word ptr zz [4], ax
   mov @result, ax
   pop bx
  end;
end;

var
  i: integer;
begin
  randseed := 0;
  p := 42;
  for i:=0 to 5 do zz[i] := random(256);
  for i:=1 to 10 do writeln(nextrand);
end.
Gleich mit Teststub, liefert bei mir: 54350 35009 55073 19341 45514 35732 39405 9782 61905 29623.

Bleiben die Fragen: wie wird zz initialisiert?, was ist p? und wozu das Gedöns in TestRandom?.
  Mit Zitat antworten Zitat