Aktív témák
-
P.H.
senior tag
Gyors o(log n) rendezési algoritmus 64 bites lebegőpontos számokra:
inicializálás:
kimenet:
ESI: az ideiglenes,32 bites elemekből álló munkatömb címe
EDI: a 32 bites munkatömb mérete
bemenet:
EAX: a 64 bites számok tömbjére mutató pointer
EDX: az értékek száma a tömbben
ESI: az ideiglenes,32 bites elemekből álló munkatömb címe
lea edx,[eax+edx*08h]
fldz
mov ecx,esi
xor edi,edi
@insert:
mov [ecx],edx
sub edx,08h
lea ebp,[edi+01h]
cmp edx,[esp+_EAX]
fstp st(0)
jbe @return
add edi,01h
fld qword ptr [edx]
@moveup:
lea ecx,[esi+ebp*04h]
shr ebp,01h
mov ebx,[esi+ebp*04h]
jz @insert
fcom qword ptr [ebx]; fnstsw ax; sahf
jae @insert
mov [ecx],ebx
jmp @moveup
@return:A következő legkisebb elem lehívása:
kimenet:
EDX: a legkisebb elem pozíciója az eredeti tömmben
EDI: a 32 bites munkatömb új mérete
bemenet:
EAX: a 64 bites számok tömbjére mutató pointer
EDI: a 32 bites munkatömb jelenlegi mérete
ESI: az ideiglenes,32 bites elemekből álló munkatömb címe
or edx,-1
sub edi,01h
js @invalid
pushad
mov edx,[esi+01h*04h]
mov ebp,00000001h
mov ecx,[esi+edi*04h+04h]
fld qword ptr [edx]
sub edx,eax
fld qword ptr [ecx]
mov [esp+_EDX],edx
@down:
mov edx,ebp
lea eax,[esi+ebp*(04h*2)]
add ebp,ebp
cmp ebp,edi
ja @insertdown
mov ebx,[eax+00h]
mov edx,[eax+04h]
jz @child
fld qword ptr [edx]
fcomp qword ptr [ebx]; fnstsw ax; sahf
cmovb ebx,edx {cmovb = cmovc}
adc ebp,00h
@child:
fcom qword ptr [ebx]
mov edx,ebp
fnstsw ax
shr edx,01h
sahf
mov [esi+edx*04h],ebx
ja @down
@insertdown:
fstp st(0)
mov [esi+edx*04h],ecx
popad
sar edx,03h
@invalid:
popadA rendezés végét a negatív (-1) visszaadott pozíció jelzi, nem szükséges tesztelni a lépések számát.
[ Szerkesztve ]
Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙
Aktív témák
- Samsung Galaxy S21 FE 5G - utóirat
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- LEGO klub
- Toyota topik
- Kerékpárosok, bringások ide!
- Szevam: Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- Hogy is néznek ki a gépeink?
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy A54 - türelemjáték
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...