打印

ARM参数传递,第一个参数是数组,还放寄存器里吗?

[复制链接]
1512|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
quarticarm|  楼主 | 2012-3-20 14:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xinzha| | 2012-3-20 17:55 | 只看该作者
第一个问题跟arm还是其他cpu关系不大,看编译器的处理,这么大的数组一般情况下编译器是把指针传过去了。
第二个问题跟体系结构相关,因为arm不是纯粹的risc流水线架构,所以在arm中是返回到调用后面的第一条指令。而在mips这类纯risc中会有延迟槽的概念,一般返回地址在调用后面的第二条指令。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
john_lee + 2 我很赞同
板凳
john_lee| | 2012-3-20 20:52 | 只看该作者
对于数组作为参数,编译器一定会使用“传地址调用”的方式。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

32

帖子

1

粉丝