您的位置 首页 IC

arm汇编冒泡排序

注:本程序在ARMDeveloperSuitev12下调试通过。——————————————————————–

注:本程序在ARM Developer Suite v1.2下调试经过。

//—————————————————————————

// main.c

//—————————————————————————

#include
#include
#include

extern void start(int num,int *arr);
void sort(int num, int *arr)//C言语冒泡排序
{
int i,j,temp;
for(j=0;j<=num-1;j++)
{
for (i=0;iif (arr[i]>arr[i+1])
{
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}

}
int main(void)
{
int num = 10;
int arr[10],i;
srand(time(0));
while(1)
{
printf(“before sort result:\n”);
for (i=0;i<10;i++){
arr[i] = rand() % 100;
printf(“%d\t”,arr[i]);
}
printf(“\n”);
start(num,arr);
//sort(num, arr);
printf(“after sort result:\n”);
for (i = 0;i<10;i++){
printf(“%d\t”,arr[i]);
}
printf(“\n”);
printf(“\n”);
}
}

//—————————————————————————

// 汇编冒泡排序算法

// sort.s

// 除了start、stag1、stag2能够顶头,其他汇编程序代码前均有一个tab键

//—————————————————————————

area sort,code,readonly
code32

export start ; 向外声明办法start

start
mov r7,r1
stag1
sub r0,r0,#1
cmp r0,#0
movle pc,r14
mov r2,#0
mov r1,r7
stag2
ldr r3,[r1]
ldr r4,[r1,#4]!
cmp r3,r4
strgt r3,[r1]
strgt r4,[r1,#-4]
add r2,r2,#1
cmp r2,r0
beq stag1
b stag2

end

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/262833.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部