Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Ein Array schnell auf 0 Werte prüfen

  Alt 1. Feb 2008, 08: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.
  Mit Zitat antworten Zitat