完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先看个实例
main.c 文件内容如下: int myAddadd(int a, int b ,int c ,int d ,int e, int f ,int g ) { int temp=0; int sum=10; sum=a+b+c+d; sum=sum+e+f; return sum; } int main() { myAddadd(1,2,3,4,5,6,7); return 0; } arm-eabi-gcc-4.4.3 -S main.c 编译下,不要汇编,得到如下结果,只列出部分: output: add fp, sp, #4 sub sp, sp, #16 mov r3, #5 str r3, [sp, #0] mov r3, #6 str r3, [sp, #4] mov r3, #7 str r3, [sp, #8] mov r0, #1 mov r1, #2 mov r2, #3 mov r3, #4 bl myAddadd 通过汇编,可以得出以下结论: 先右后左, 先R0/R1/R3/R4 再是 保存到堆栈里面。 原作者:李子 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
614 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2186 浏览 1 评论
739 浏览 0 评论
1480 浏览 1 评论
2243 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 18:51 , Processed in 0.555430 second(s), Total 71, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号