Hallo St.Pauli,
hast du einmal getestet, ob die vorgestellte Assembler-Version wirklich schneller ist als eine reine PASCAL-Version? Die folgende Routine sollte etwas schneller sein:
Delphi-Quellcode:
procedure Switch (
var a, b: integer);
asm
push ebx
mov ecx,[eax]
mov ebx,[edx]
mov [edx],ecx
mov [eax],ebx
pop ebx
end;
Eine reine PASCAL-Lösung ist übrigens etwa gleich schnell. Da du in deinem Profil "Delphi 2005" angibst, könntest du aber mit einer INLINE-Prozedur noch etwas Zeit einsparen:
Delphi-Quellcode:
procedure Switch (var a, b: Integer); inline;
var
t : Integer;
begin
t := a;
a := b;
b := t;
end;
Gruß Hawkeye