[8086] Ordinamento vettore

Stato
Discussione chiusa ad ulteriori risposte.

moserx

Utente Silver
7 Dicembre 2008
1
0
0
56
Programma:
- caricamento vettore;
- stampa del vettore non ordinato;
- calcolo e stampa del vettore ordinato.

Codice:
data        segment
v           db          15 dup(?)        
data        ends

sistema     segment     stack
            db          100H dup(?)
top         label       word  


code        segment
            assume      ds:data,ss:sistema,cs:code                                      
main:       mov         ax,data
            mov         ds,ax
            mov         ax,sistema
            mov         ss,ax     
            lea         sp,top 
;caricamento del vettore           
            mov         si,0
            mov         cx,15  
for1:        mov         ah,01h 
            int         21h
            mov         v[si],al
            inc         si
            loop        for1  
;stampa del vettore non ordinato
            mov         si,0
            mov         cx,15
for2:       mov         ah,02h
            mov         dl,v[si]
            int         21h
            inc         si
            loop        for2
;ordinamento del vettore     
            mov         bx,0
            mov         si,0
            mov         cx,14
for3:       mov         si,bx
            add         si,1
while:      cmp         si,15
            jnb         finewh
            mov         ah,v[si]
se:         cmp         ah,v[bx]
            jnb         finese
            mov         dh,v[si]
            mov         dl,v[bx]
            mov         v[si],dl
            mov         v[bx],dh
finese:     nop
            inc         si
            jmp         while
finewh:     nop
            inc         bx
            loop        for3
;stampa del vettore ordinato
            mov         si,0
            mov         cx,15    
for4:       mov         ah,02h
            mov         dl,v[si]
            int         21h
            inc         si
            loop        for4
            mov         ax,4c00h
            int         21h 
code        ends
            end         main
 
R4z0r_Cr4$H ha detto:
blue che c'è più da spiegare?

concordo....
tra l'altro è un'operazione alquanto semplice..... soprattutto se scambi ogni volta (controlli ed eventualmente scambi, ecc)
 
Stato
Discussione chiusa ad ulteriori risposte.