Sortowanie ASM

0

Witam, może mi ktoś powiedzieć jakie to jest sortowanie?

  mov tempInt,0
  mov shift,10
  mov licznik1,0
  mov licznik2,0
 
  invoke QueryPerformanceFrequency, offset freq
  invoke QueryPerformanceCounter,offset timeStart
 
  zewnetrznaPetla:
    mov  EAX, licznik1
    mov  minPosition, EAX
    mov  itemPosition, EAX
    mul  shift
    add  EAX, offset array
    fld  tbyte ptr[EAX]
    fstp min
    mov  EAX, licznik1
    mov  licznik2, EAX
    wewnetrznaPetla:
      ffree st(1)
      ffree st(0)
      fld   min
      mov   EAX, licznik2
      mul   shift
      add   EAX, offset array
      fld   tbyte ptr[EAX]
      fcomp
      fstsw AX
      fwait
      sahf
      jb    znalezionoMinimum
      jmp   dalej
      znalezionoMinimum:
        ffree st(1)
        ffree st(0)
        mov   EAX, licznik2
        mov   minPosition, EAX
        mov   EAX, minPosition
        mul   shift
        add   EAX, offset array
        fld   tbyte ptr[EAX]
        fstp  min
      dalej:
        inc   licznik2
        mov   EAX, licznik2
        cmp   EAX, arraySize
        jnge  wewnetrznaPetla
    ffree ST(1)
    ffree ST(0)
    mov   EAX, itemPosition
    mul   shift
    add   EAX, offset array
    fld   tbyte ptr[EAX]
    fld   min
    fstp  tbyte ptr[EAX]
    mov   EAX, minPosition
    mul   shift
    add   EAX, offset array
    fstp  tbyte ptr[EAX]
    inc   licznik1
    mov   EAX, licznik1
    cmp   EAX, arraySize
  jge  koniecSortowania
  jmp  zewnetrznaPetla
  koniecSortowania:

wstawiłem w tagi <code class="asm"></code>.

0

Zgaduje że skoro ktoś tam szuka minimum to to jest selectionsort

0

Tak.

0

A jesteś pewien że dane wejsciowe to inty? Mógłbyś to tak przepisać żeby nie korzystać z koprocesora w ogóle. Zresztą skoro sam to napisałeś (a rozumiem że tak zrobiłeś skoro chcesz to oddać na studiach jako swoje...) to powinieneś wiedzieć gdzie to zmodyfikować.

0

Już sobie poradziłem, dzięki za odp. Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1