ARMアセンブリバブルソートアセンブリ呼び出しc言語


   AREA  MAIN,CODE,READONLY
   IMPORT paixu  ;    IMPORT     c    
   ENTRY
   CODE32

start
    LDR R0,=buf
    BL  paixu
 
stop B stop

   AREA NUM,DATA,READWRITE
buf  DCD  1,39,4,28,6,7,8,9,34,25
  
  
  END
int paixu(int *a)
{  int i,j, t;
  
   for(i=0;i<10;i++)
   { for(j=0;j<9-i;j++)
     {
        if(a[j]>a[j+1])
        {
          t=a[j];
          a[j]=a[j+1];
          a[j+1]=t;
        }
     }
    }
 
   
  for(i=0;i<10;i++)
 { 
     return a[i];
 }