Einzelnen Beitrag anzeigen

mr_emre_d
(Gast)

n/a Beiträge
 
#8

Re: In einem unsortierten array min. und max. herausfinden.

  Alt 16. Mai 2009, 19:18
Hab mal vor Ewigkeiten etwas geschrieben .. weiß nicht mehr, ob das so optimal ist, aber egal, vlt hilfts dir
Delphi-Quellcode:
type TIntArr = Array of Integer;
// --
procedure FindMinMax( const IntArr: TIntArr; var Min, Max: Integer );
asm
  // eax -> arr
  // ecx -> min -> ebx -(xchg)> ecx = length
  // edx -> max
  // edi -> vergleichs-buffer
  push edi
  xchg ebx, ecx
  mov ecx, [eax-4]
  dec ecx
  @Search:
    mov edi, [eax+ecx*4]
    cmp edi, [ebx]
    jg @SetMin
    cmp edi, [edx]
    jl @SetMax
    jmp @Next
    @SetMin:
      mov [ebx], edi
      jmp @Next
    @SetMax:
      mov [edx], edi
    @Next:
      loop @Search
  pop edi
end;
MfG
  Mit Zitat antworten Zitat