Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
Delphi 7 Enterprise
|
Re: Ein Array schnell auf 0 Werte prüfen
1. Feb 2008, 09:25
Delphi-Quellcode:
function IsEmptyArray(AArray: TIntArray): Boolean
asm
push edi
mov edi,eax
mov ecx,[eax-4]
xor eax,eax
repe scasd
jnz @ end
inc al
@ end:
pop edi
end;
Edit: (etwas allgemeiner)
Delphi-Quellcode:
function IsZeroMemory( const mem;size:integer):boolean;
asm
push edi
mov edi,eax
mov ecx,edx
shr ecx,2
xor eax,eax
repe scasd
jnz @False
mov ecx,edx
and ecx,3
repe scasb
jnz @FALSE
inc eax
@FALSE:
pop edi
end;
...
var x: array of integer;
...
isZeroMemory(x[0],sizeof(Integer)*length(x))
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
|
|
Zitat
|