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 ^ )/*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章