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