如何在汇编语言中调用c语言标准库函数sin

如何在汇编语言中调用c语言标准库函数sin,第1张

C程序调用汇编程序 汇编程序的设计要遵守ATPCS(ARM—Thumb Procedure Call Standard),保证程序调用时参数的正确传递。在汇编程序中使用EXPORT 伪 *** 作声明本程序,使得本程序可以被别的程序调用。在C程序使用extern声明该汇编程序。

先声明,后调出。

若C语言函数名为ABC,汇编的入口符号为_ABC。

例:CALL _ABC ,就调用的了ABC涵数。

至于如何声明,如何传函数参数,就要查编译器的使用说明了。

我也没这么做过,一般是高级语言调用低级语言,只是一个建议。

我的程序是KEIL编译的,如下

先申明

EXTRN

CODE

(_Send_CRC)

;Send_CRC是C中的函数,汇编中加了_

调用的时候

LCALL

_Send_CRC

如果要使用C中的变量,那么CODE变成相应的DATA,XDATA等

首先你得搞清楚s32 function(u32 VirtualAddr)编译后叫什么。一般来说可能会叫_function。

传递参数很简单,如果ax里放的就是参数,那么push ax,然后再调用就可以。

返回值如果我没有记错的话应该在AX里。如果返回值太长,就会放到堆栈里。

你想搞清楚如果跨语言编程,最好彻底明白C语言的机制。也就是写一段函数调用程序比如下面的

main()

{ int i;}

fu(int i)

{in j}

然后编译成汇编语言,好好研究一下。或者再复杂一点。请参考>

以上就是关于如何在汇编语言中调用c语言标准库函数sin全部的内容,包括:如何在汇编语言中调用c语言标准库函数sin、51单片机汇编如何调用C函数、51单片机中汇编语言如何调用C的子程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9696682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存