#include <stdio.h>
int fadd(int x,int y);
main(){
int a,b,c;
a=fadd(3,5);
printf("a=%d\n",a);
}
int fadd(int x,int y){
int ret;
ret=x+y;
return ret;
}
akira@dynabookAZ:~/arm1403$ gcc -o add1 add1.c
akira@dynabookAZ:~/arm1403$ ./add1
a=8
akira@dynabookAZ:~/arm1403$ cat add2.c
#include <stdio.h>
int fadd(int x,int y);
main(){
int a,b,c;
a=fadd(13,25);
printf("a=%d\n",a);
}
int fadd(int x,int y){
int ret;
asm("ldr r1,%0"::"g"(x));
asm("ldr r2,%0"::"g"(y));
asm("add r1,r1,r2");
asm("mov %0,r1":"=g"(ret));
return ret;
}
akira@dynabookAZ:~/arm1403$ gcc -o add2 add2.c
akira@dynabookAZ:~/arm1403$ ./add2
a=38
akira@dynabookAZ:~/arm1403$