[ASM] Sortowanie babelkowe

0

Witam mógł by ktoś mi pomóc z tym programem chciałbym go przerobić na składnie AT&T ale jestem początkujacy i nie mam zielonego pojecia jak to zrobić. Oto kod programu który chce przerobić


 TITLE AL-073 :
             

 .MODEL SMALL
 .STACK 100H

 .DATA
    PROMPT_1  DB  'The contents of the array before sorting : $'
    PROMPT_2  DB  0DH,0AH,'The contents of the array after sorting : $'

    ARRAY   DB  5,3,9,0,2,6,1,7,8,4   
 
 .CODE
   MAIN PROC
     MOV AX, @DATA                
     MOV DS, AX

     MOV BX, 10                  

     LEA DX, PROMPT_1           
     MOV AH, 9
     INT 21H

     LEA SI, ARRAY               

     CALL PRINT_ARRAY         
     LEA SI, ARRAY               
     CALL BUBBLE_SORT             

     LEA DX, PROMPT_2             
     MOV AH, 9
     INT 21H

     LEA SI, ARRAY                

     CALL PRINT_ARRAY            

     MOV AH, 4CH                
     INT 21H
   MAIN ENDP



 PRINT_ARRAY PROC
 

   PUSH AX                      
   PUSH CX                       
   PUSH DX                       

   MOV CX, BX                    

   @PRINT_ARRAY:                 
     XOR AH, AH                 
     MOV AL, [SI]                 

     CALL OUTDEC                 

     MOV AH, 2                   
     INT 21H                     

     INC SI                       
   LOOP @PRINT_ARRAY             

   POP DX                        
   POP CX                        
   POP AX                       

   RET                          
 PRINT_ARRAY ENDP




 BUBBLE_SORT PROC
   

   PUSH AX                        
   PUSH BX                        
   PUSH CX                       
   PUSH DX                       
   PUSH DI                       

   MOV AX, SI                    
   MOV CX, BX                    
   DEC CX                        

   @OUTER_LOOP:                
     MOV BX, CX                 

     MOV SI, AX                  
     MOV DI, AX                  
     INC DI                      

     @INNER_LOOP:                 
       MOV DL, [SI]              

       CMP DL, [DI]              
       JNG @SKIP_EXCHANGE         

       XCHG DL, [DI]            
       MOV [SI], DL           

       @SKIP_EXCHANGE:          
       INC SI                   
       INC DI                     

       DEC BX                    
     JNZ @INNER_LOOP             
   LOOP @OUTER_LOOP            

   POP DI                         
   POP DX                        
   POP CX                  
   POP BX                       
   POP AX                        

   RET                           
 BUBBLE_SORT ENDP



 OUTDEC PROC


   PUSH BX                       
   PUSH CX                   
   PUSH DX                       

   XOR CX, CX                    
   MOV BX, 10                    

   @OUTPUT:                     
     XOR DX, DX                 
     DIV BX                      
     PUSH DX                      
     INC CX                      
     OR AX, AX                    
   JNE @OUTPUT                    

   MOV AH, 2                      

   @DISPLAY:                     
     POP DX                      
     OR DL, 30H                 
     INT 21H                      
   LOOP @DISPLAY                 

   POP DX                      
   POP CX                        
   POP BX                         

   RET                           
 OUTDEC ENDP




 END MAIN





0

a mógł by ktos to zrobić bo mi same błedy wywala jak przerabiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1