C调用汇编
时间:2009-06-04 来源:creatory
;C语言可以直接访问汇编中的语句标号,入口参数:前四个用R0~R3传递,多于四个用数据栈传递,
;出口参数:由R0返回
AREA AddC,CODE,READONLY
EXPORT Add ;声明导出子程序
Add ADD R0,R0,R1 ;R0<-R0+R1
MOV PC,LR ;返回
END //C与汇编混合编程示例
#define uint8 unsigned char
#define uint32 unsigned int
#define N 100
extern uint32 Add(uint32 x,uint32 y); //声明引用外部函数
uint32 sum; int main(void){
uint32 i;
sum=0;
for(i=0;i<=N;i++){
sum+=Add(sum,i); //累加
}
while(1); //停在此处
}
EXPORT Add ;声明导出子程序
Add ADD R0,R0,R1 ;R0<-R0+R1
MOV PC,LR ;返回
END //C与汇编混合编程示例
#define uint8 unsigned char
#define uint32 unsigned int
#define N 100
extern uint32 Add(uint32 x,uint32 y); //声明引用外部函数
uint32 sum; int main(void){
uint32 i;
sum=0;
for(i=0;i<=N;i++){
sum+=Add(sum,i); //累加
}
while(1); //停在此处
}
相关阅读 更多 +