在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2886|回复: 2

请教一个关于如何编写arm函数调用的汇编代码

[复制链接]
发表于 2005-5-4 12:12:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
大家好,我刚刚开始接触arm,现在想请教一个关于如何编写arm函数调用的汇编代码。
被调用的函数使用C语言编写,并使用arm的gcc编译器生成目标文件,函数的声明为 void func1 ( int, int ).
接下来我用汇编语言编写另外的一个文件,在该文件中调用函数func1。我知道调用函数使用指令bl func1,但是在bl func1指的前面我应该用什么指令保存哪些寄存器?如何传递参数?参数传递的顺序是怎样的?在bl func1指令的后面我应该用什么指令恢复哪些寄存器。
哪位大侠能帮帮我,或者告诉我去查什么资料?
谢谢!
发表于 2005-6-8 10:09:47 | 显示全部楼层

请教一个关于如何编写arm函数调用的汇编代码


__asm__  ( "subs lr,lr,#4");
__asm__  ( "stmfd sp!, {r0-r12, lr}");
__asm__  ( "bl func1");
__asm__  ( "ldmfd sp!, {r0-r12, pc}^");
发表于 2007-3-11 18:08:50 | 显示全部楼层
记得好像,现在C文件里用修饰符‘extern’声明该函数;
然后在汇编文件开头用‘inport’声明该函数;
就可以直接引用了,很多ARM的书籍都有介绍的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 08:27 , Processed in 0.024648 second(s), 13 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表