题目:将整数数组{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