首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerPC程序集:如何传递和返回多个参数?

问PowerPC程序集:如何传递和返回多个参数?
EN

Stack Overflow用户
提问于 2013-06-26 06:51:48
回答 1查看 2.2K关注 0票数 1

我正在学习PPC Assembly,但我很难理解以下关于子例程调用的内容:

哪些寄存器可用于将参数传递给子例程?我想是R3 to R12吧?当寄存器耗尽时,如何传递参数?我可以看一下这个的代码示例吗?

在回传返回值时,只能使用R3吗?据我所知,您只能使用此寄存器返回单个值。如果你需要返回更多的值,那么返回一个指向这些值的指针?我也可以看一下这个的代码示例吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-26 07:07:10

如果你是用汇编语言写的,你可以做任何你想做的事情。只有当您想要与一些外部代码(可能是库,可能是系统调用)交互时,才需要遵守调用约定。有些架构有多个不同的ABI,因此您必须小心。

如果我没记错的话,几乎每个人都对32位PowerPC使用相同的调用约定,所以this Apple reference应该有您需要知道的一切。正如您所提到的,参数通常在R3-R10中传递,返回值放在R3中。This tutorial似乎也表明了这一点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17308880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档