-----------------------------------sort.c
#include
#include
extern void select1(int *src,int number);
int main(void) {
int i=0;
int num=0;
int *array=NULL;
int *array2[1];
while(num <= 0) {
printf("please enter the number of elements:\n");
scanf("%d",&num);
if(num > 0) {
break;
}
}
if(NULL == (array = (int *)malloc(num*sizeof(int)))) {
printf("malloc failed!\n");
exit(-1);
}
array2[0]=array;
printf("please enter the elements:\n");
for(i = 0; i
scanf("%d", array+i);
}
select1(array,num);
printf("the result is:\n");
for(i = 0; i
printf("%d:\t%d\n", i, *(array2[0]+i));
}
return 0;
}
-------------------------------------------sortasm.s文件
.section .text
.globl select1
select1:
SUBS R1,R1,#1
loop: MOV R7,R1
MOV R4,R0
loop2: LDR R5,[R4]
LDR R6,[R4,#4]!
CMP R5,R6
BLS skip
STR R5,[R4]
STR R6,[R4,#-4]
skip: SUBS R1,R1,#1
BNE loop2
MOV R1,R7
SUBS R1,R1,#1
BNE loop
-----------------------------------------------