汇编数字大小排序

汇编数字大小排序

思路:

数据:a,b,c,d,e

比较方式就如图所示,每次比较:将大的数交换到前者位置【从小到大排序】

__iar_program_start
        
main      
        MOV R0,#0   
        LDR R2,=RESULT    
 
LOOP1  
        ADD R1,R0,#4
        B LOOP2
        
LOOP2  
       
        LDR R3,[R2,R0]
        LDR R4,[R2,R1]
        
        CMP R3,R4
        BGT EXCHANGE 
        B LOOP3          
EXCHANGE  

        STR R3,[R2,R1]
        STR R4,[R2,R0]      
        B LOOP3
        
LOOP3 
        ADD R1,R1,#4
        MOV R5,#40 
        CMP R1,R5
        BLT LOOP2
        BGE LOOP4 
 
LOOP4
        ADD R0,R0,#4
        CMP R0,#36
        BLT LOOP1
        BGE STOP
STOP
        B STOP
        B       main
        
        SECTION .text2:CODE:REORDER(1)
        DATA
RESULT  
        DCD     11,23,14,5,10,52,39,18,7,60

注:将数据段用这种方法写,不会影响的数据的存储位置。

谢谢大家的阅读!生活愉快!

发布了13 篇原创文章 · 获赞 25 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wangcl1999/article/details/103391092