ARM汇编指令编程之选择排序

题目:将整数数组{0XAABBCC11,0XAABBCC00,0XAABBCC33,0XAABBCC22,0XAABBCC44}进行选择排序。

实验环境:ARM Developer Suite V1.2
代码如下

        AREA test,CODE,READONLY
        ENTRY
        LDR R0,=DATAS
        LDR R1,=NUM
        LDR R1,[R1]
SORT
        MOV R1,R1,LSL #2
        SUB R1,R1,#4
        ADD R1,R0,R1
        SUB R0,R0,#4
LOOP1
        LDR R4,[R0,#4]!
        TEQ R1,R0
        BEQ FINISH
        MOV R2,R0
        MOV R3,R0
LOOP2
        LDR R5,[R2,#4]!
        CMP R4,R5
        BLT LOOP3
        MOV R3,R2
        MOV R4,R5
LOOP3
        TEQ R1,R2
        BNE LOOP2
LOOP4
        TEQ R0,R3
        BEQ LOOP1
        SWP R4,R4,[R0]
        STR R4,[R3]
        B LOOP1
FINISH
STOP
        B STOP
        ALIGN
DATAS 
        DCD 0XAABBCC11,0XAABBCC00,OXAABBCC33,0XAABBCC22,0XAABBCC44
NUM
        DCD 5
        END

结果截屏:
排序前:
在这里插入图片描述
排序后:在这里插入图片描述

此文章本人原创,如有问题底部留言,如有转载请标明出处。
--HurryChen

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值