我经常忘记每个系统调用参数需要使用的寄存器,每次忘记时我都会访问this问题。
在x86_64用户空间函数调用中,整数/指针参数的正确顺序是:
或者对于系统调用,
除了每次都谷歌这个问题,有什么更好的方法来记住这些寄存器吗?
在x86_64用户空间函数调用中,整数/指针参数的正确顺序是:
%rdi
、%rsi
、%rdx
、%rcx
、%r8
和%r9
。(可变参数函数将取AL = FP参数数量,最多8个)或者对于系统调用,
%rax
(系统调用号),以及相同的参数,除了%rcx
之外使用%r10
。除了每次都谷歌这个问题,有什么更好的方法来记住这些寄存器吗?