OSX 调用约定
intel 64 bit 架构
| 对象 | |
|---|---|
| 返回地址 | $esp |
| 第一个参数 | $rdi |
| 第二个参数 | $rsi |
| 第三个参数 | $rdx |
| 第四个参数 | $rcx |
| 第五个参数 | $r8 |
| 第六个参数 | $r9 |
函数的返回值是在RAX($rax)中
ARM
在ARM程序中,前面四个参数放在寄存器中。返回地址在寄存器LR中。表1展示了当你停在函数的第一个指令时,如何从GDB访问这些值。
| What | GDB Syntax |
|---|---|
| 返回地址 | $lr |
| 第一个参数 | $r0 |
| 第二个参数 | $r1 |
| 第三个参数 | $r2 |
| 第四个参数 | $r3 |
函数返回的结果在R0 ($r0)寄存器中。
参考文档:https://developer.apple.com/library/archive/technotes/tn2124/NaN

浙公网安备 33010602011771号