ARM汇编指令--冒泡排序算法

冒泡算法流程图:

 简单来说就是,从左至右两两比较排序,一轮过后,舍弃排序过后的最后一个数,再经过一轮排序,再舍弃最后一个数字,如此反复直到,最后只剩下一个数字。

以下为ARM汇编实现:

	AREA maopao, CODE, READONLY
	CODE32
	ENTRY
	MSR CPSR_c, #0x10
	MOV R4, #0x18
LOOP_W
	SUBS R4, R4, #4
	BEQ STOP
	LDR R1, =data
	ADD R6, R1, R4

LOOP
	LDR R2, [R1]
	LDR R3, [R1, #4]!
	CMP R2, R3
	STRGT R3, [R1, #-4]
	STRGT R2, [R1]
	CMP R1, R6
	BEQ LOOP_W
	B LOOP
STOP
	MOV R8, #0x01
	AREA list,DATA, READWRITE
data DCD 8,4,5,6,7,1
	END