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

结果截屏:
排序前:
ARM汇编指令编程之选择排序
排序后:ARM汇编指令编程之选择排序

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