Skip to content

Latest commit

 

History

History
51 lines (48 loc) · 1.31 KB

File metadata and controls

51 lines (48 loc) · 1.31 KB

x64

常用寄存器

  • RAX
    • 易失的
    • 返回值寄存器
  • RCX
    • 易失的
    • 函数调用的第四个参数
  • RDX
    • 易失的
    • 函数调用的第三个参数
  • RDI
    • 非易失的
    • 必须由被调用方保留
    • 函数调用的第一个参数
  • RSI
    • 非易失的
    • 必须由被调用方保留
    • 函数调用的第二个参数
  • RBX
    • 非易失的
    • 必须由被调用方保留
  • RBP
    • 非易失的
    • 可用作帧指针;必须由被调用方保留
  • RSP
    • 非易失的
    • 堆栈指针
  • R8
    • 函数调用的第五个参数
  • R9
    • 函数调用的第六个参数
  • R10-R11
    • 易失的
    • 必须根据需要由调用方保留
    • 在 syscall/sysret 指令中使用
    • R10为系统调用的第四个参数
  • R12-R15
    • 非易失的
    • 必须由被调用方保留

系统调用号

需要注意的是,x86和x64架构下系统调用号并不相同。系统调用可在 /usr/include/asm/unistd.h 文件中查看。

参考链接