栈回溯

(1 min to read)

x86-64常用寄存器

  • %rax(累加):函数返回值
  • %rsp:栈指针寄存器(指向栈顶)
  • %rbp:栈基址寄存器(指向栈底)
  • %rip:指令寄存器,指向要读取指令的地址
  • %rdi(目的索引)、%rsi(源索引)、%rdx(数据)、%rcx(计数)、%r8%r9:分别对应1、2…个函数参数
  • %rbx(基址)、%rbp%r12%r13%r14%r15:数据存储,遵守被调用者保存归约
  • %r10%r11:数据存储,遵守调用者保存归约

其中%rxx的低32位可以用相应的%exx访问,%rx的低32位可以用%rxd访问。

函数调用过程