在 iPhone/ARM 上,哪些 CPU 寄存器是应该保留的函数(如果有)?
旧的但不正确的答案。维基百科经常不准确(有时完全不正确),这是前一种情况的一个例子。有一个通用的调用约定(这是维基百科的文档),但操作系统可能会有所不同 - Android 和 iOS 都会这样做(Win 8 可能会,但当二进制文件开始出现时我们就会知道)
http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/iPhoneOSABIReference/Introduction/Introduction.html 为 iOS 提供了正确的规范,因此这里没有必要重复。最值得注意的是,请注意 r7 和 r12 的使用。另请注意,ARMv6 和 ARMv7 是不同的。现在,您需要 ARMv7 架构(A4,5,6..)
维基百科关于 Calling Convention 的文章对 ARM 的约定进行了很好的总结。