汇编语言及C的混合编程.ppt

汇编语言及C的混合编程

3.汇编程序调用C程序 汇编程序的设计要遵守ATPCS,保证程序调用时参数的正确传递。在汇编程序中使用IMPORT伪操作声明将调用C程序。下面是一个汇编程序调用C程序的例子。其中在汇编程序中设置好各参数的值,本例中有5个参数,分别使用寄存器R0存放第1个参数,R1存放第2个参数,R2存放第三个参数,R3存放第4个参数,第5个参数利用数据栈传送。注意若利用数据栈传递参数,则在程序中调用结束后要调整数据栈指针。本例中程序如下: //C程序 /*函数sum5()返回5个整数的和*/ int sum5(int a,int b,int c,int d,int e) { return(a+b+c+d+e); } ;汇编程序 ;调用C程序sum5计算5个整数i,2*i,3*i,4*i,5*i的和 EXPORT CALLSUM5 ;声明外部标号sum5,即C函数sum5() AREA Example,CODE,READONLY IMPORT sum5 CALLSUM5 STMFD SP!,{LR} ;LR寄存器入栈 ADD R1,R0,R0 ;设置sum5函数入口,R0为参数a ADD R2,R1,R0

文档评论(0)

1亿VIP精品文档

相关文档