我想在我的代码中加入浮点计算, 这样我使用到inline 嵌入到gcc中, 如果正常的程序(非vfp):我会这样:
__asm__(
"add %0, %1,%2,lsl #16\n"
:"=r"(ret)
:"r"(a),"r"(b)
);
可是如果是浮点计算的话,应该怎么做的, 谁能给个例子,谢谢!
我没有从google上搜到相关的例子,谢谢!
------解决方案--------------------
你的意思是说,已经在汇编文件中实现了汇编函数是吗?但只是不会在C文件中来调用这个汇编的函数是吗?
如果是这样,LZ应该问怎么在C中调用汇编。方法是:
1. 在汇编文件中写好汇编函数,自己注意寄存器的压栈。调用最好要服从APCS或ATPCS的要
求,说白了也就是函数传参的要求。汇编函数名也就是这个函数的lable,也即是起始
地址,假如说叫AssemblyFunction
2. 在这个汇编文件中的开头添加 EXPORT 汇编函数函数名,你这就该是
EXPORT AssemblyFunction
3. 在需要调用这个汇编函数的c文件或对应的头文件中声明:
extern 函数返回类型 AssemblyFunction(形参列表);
如果有返回值,一般都是用R0返回的。