dsp线性汇编的写法以及如何在c中调用线性汇编?
线性汇编函数的编写我看到两种写法,假设要写的函数名为ABC,一种写法是.sect"text:_ABC".global_ABC_ABC.cproc.endproc另一种是....
线性汇编函数的编写我看到两种写法,假设要写的函数名为 ABC,
一种写法是 .sect "text: _ABC"
.global _ABC
_ABC .cproc
.endproc
另一种是 .def _ABC
_ABC .cproc
.endproc
两种方法就是开头部分写法不一样,应该用哪一种?
这个线性汇编写完后,保存为 ABC.sa,那么我在C里如何调用这个函数?
是需要 #include "ABC.sa",然后声明函数ABC
还是直接在C里声明,然后调用。
还是有别的方法? 展开
一种写法是 .sect "text: _ABC"
.global _ABC
_ABC .cproc
.endproc
另一种是 .def _ABC
_ABC .cproc
.endproc
两种方法就是开头部分写法不一样,应该用哪一种?
这个线性汇编写完后,保存为 ABC.sa,那么我在C里如何调用这个函数?
是需要 #include "ABC.sa",然后声明函数ABC
还是直接在C里声明,然后调用。
还是有别的方法? 展开
1个回答
展开全部
一个完整线性汇编语言的写法一般如下所示
.global _process_func ;相当于全局函数声明,以供C语言调用,记得在函数名前面要加下划线
_process_func: .cproc in1,in2,in3,out1 ;表示函数的入口形参
.reg ;寄存器使用声明,相当于声明的函数内部变量
/*你的汇编指令*/
.endproc ;表示函数体结束,相当于C的“}”
写好后,保存为.sa文件,然后把该文件加入到你的工程编译中即可。
对于在C文件中调用该线性汇编函数,只需要在C文件中需要调用的地方写上
process_func(input1,input2,input3,output);即可,记得该函数前面不要加下划线。
input1,input2,input3,output是传递给函数的实参。
.global _process_func ;相当于全局函数声明,以供C语言调用,记得在函数名前面要加下划线
_process_func: .cproc in1,in2,in3,out1 ;表示函数的入口形参
.reg ;寄存器使用声明,相当于声明的函数内部变量
/*你的汇编指令*/
.endproc ;表示函数体结束,相当于C的“}”
写好后,保存为.sa文件,然后把该文件加入到你的工程编译中即可。
对于在C文件中调用该线性汇编函数,只需要在C文件中需要调用的地方写上
process_func(input1,input2,input3,output);即可,记得该函数前面不要加下划线。
input1,input2,input3,output是传递给函数的实参。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询