; PROGRAM: SORTING THE 'N' NUMBERS IN DESCENDING ORDER
data1 segment
array db 05h,03h,01h,04h,02h
count db 05h
data1 ends
code1 segment
assume cs:code1,ds:data1
start:
      mov ax,data1
      mov ds,ax
      sub ax,ax
      mov dl,count
      mov di,dx
      dec di
back1:
     dec dx
     mov cx,dx
     mov si,offset array
back:
     mov al,[si]
     cmp al,[si+1]
     jg forw
     xchg al,[si+1]
     mov [si],al
     
forw:
     inc si
     loop back
     dec di
     jnz back1
     mov ah,4ch
     int 21h
code1 ends
end start
end
;  DATA1     RESULT1       DATA2      RESULT2
;   05         05            08          ?
;   03         04            04          ?
;   01         03            09          ?
;   04         02            02          ?
;   02         01            06          ?