Wednesday, September 29, 2010

Program for to sort numbers into ascending order

.MODEL SMALL
.STACK 100
.DATA
            NUM DW 0102H, 0154H, 0070H, 0005H
.CODE
            mov      ax, @data       
            mov      ds, ax  
            mov      dx, 2   
loop2 :  mov      cx, dx              
            dec       cx        
            mov      si, cx                           
            add      si, si     
            mov      ax, num[si]
loop1:   cmp      num[si-2], ax
                                               
            jbe       next                 
                                               
            mov      di, num[si-2]    
            mov      num[si], di       
            dec       si                     
            dec       si                     
            dec       cx                    
                                               
            jnz        loop1              
next:     mov      num[si], ax       
                                               
            inc        dx                   
                                               
            cmp      dx, 4               
                                               
            jbe       loop2              
            mov      si, offset num
           
        mov ch,04h
      
l3:        mov     ax, num[si]
        inc            si                     
            inc        si
        dec ch
        jnz l3
        
            mov      ah, 4ch            
            int         3h
end

No comments:

Post a Comment