汇编数字大小排序

汇编数字大小排序

思路:

数据: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

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

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

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值