Pisze w czystym asemblerze animacje 3D, jest już w zasadzie skończona ale brakuje mi jednej procedury tzn. sortującej powierzchnie w 3D ze względu na odległość, mam na razie coś takiego:

Qsort: 
xor bx,bx 

mov cx,ile_f 
lea di,f_z 
dec cx 
_sort: 
fld d [di] 
fld d [di+4] 
fcompp 
fstsw ax 
sahf 

jl _nie_s 
mov bx,1 
mov eax,[di] 
xchg eax,[di+4] 
_nie_s: 
add di,4 
loop _sort 

cmp bx,0 
jne Qsort 
ret 

A to są zmienne: 
ile_f equ 400 
f_z DD ile_f dup(?) 
d equ dword ptr 

Powyższa procedura ma tylko posortować Tablice Z(jeszcze bez ścian) ale nie robi nic poza tym że się zawiesza
Nie wiem czemu....
A jak by ktoś nie załapał to każdy kolejny element f_z to jest suma Z trzech wierzchołków odpowiedniej ściany