ARM汇编指令编程

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


                                                                      Happy   Coding!

                                                                    *\( ^ v ^ )/*

你可能感兴趣的:(ARM汇编指令编程)