Ach echt? Habs ja auch nicht getestet, nur schnell hingetippt. Mal kucken...
Ok. Stimmt sry, habe
dec(Count) in der Schleife vergessen:
Delphi-Quellcode:
procedure XorMemBlock(Source1, Source2, Destination: PByte; Count: Integer);
begin
while Count > 0
do
begin
Destination^ := Source1^
xor Source2^;
inc(Source1);
inc(Source2);
inc(Destination);
dec(Count);
end;
end;
Assembler <> Geschwindigkeit, denn letzendlich wird der Delphi-Code, sofern richtig programmiert, auch in Assembler-Code konvertiert (kompiliert)!
Außer du wendest Assembler-eigene Tricks an, die ich nirgends sehe!