Il problema è che il mio professore l'ho visto si e no mezza volta
In ogni caso lui fa una cosa del genere:
proc _sort
push bp
push bp, sp
dec cx
shl cx
sub si, si
sub di, di
loop_i:
mov di, si
add di, 2 ; j=i+1
loop_j:
mov dx, [bx + si] ; DX= arr[i]
mov ax, [bx + di] ; AX = ARR[J]
cmp dx, ax ; IF ( arr[i] <= arr[j]) then no swap
jle noswap
mov [bx + si], ax ; else swap
mov [bx + di], dx
no_swap:
add di,2
cmp di,cx
jbe loop_j
add si,2
cmp si,cx
jb loop_i
pop bp
ret
endp
però non ho capito in che punto gli passa i parametri :S