【发布时间】:2021-01-01 15:06:02
【问题描述】:
我经常忘记需要为系统调用中的每个参数使用的寄存器,每次忘记时我都会访问this 问题。
整数/指针参数到 x86_64 用户空间函数调用的正确顺序是:%rdi、%rsi、%rdx、%rcx、%r8 和 %r9。 (可变参数函数取 AL = FP args 的数量,最多 8 个)
或者对于系统调用,%rax(系统调用编号)和相同的参数,除了%r10 而不是%rcx。
记住这些寄存器的最好方法是什么,而不是每次都用谷歌搜索这个问题?
【问题讨论】:
标签: assembly x86-64 cpu-registers calling-convention abi