汇编怎样调用C

292次

问题描述:

汇编怎样调用C希望能解答下

最佳答案

推荐答案

汇编调用C,要按照函数调用规范来传递参数(即压栈),常用的函数调用规范有stdcall,cdecl等,cdecl是通常的缺省调用规范。如果是cdecl,清栈动作是由调用者来处理的,也就是汇编在c函数返回后要清栈。

另外汇编调用C,还要abi来处理返回值,常用的ARM abi有oabi,eabi等,涉及到返回值在哪个寄存器中。

C调用汇编,汇编除了按以上的函数调用规范和abi规范来处理参数以及返回值之外,要使用mov pc,lr来返回C,即C调用发生时,LR中有调用的返回地址

为你推荐