Skip to main content

堆栈

· One min read

在x86_64中,调用栈是从高地址到低地址增长的, %rbp寄存器有两个核心的内容:

  • 0(%rbp)也就是%rbp寄存器指向的寄存器内容,这个指针指向的地址也存着上一个堆栈的%rbp堆栈的地址
  • 8(%rbp)也就是%rbp寄存器存着另外一个存的是返回地址,什么是返回地址?就是指令段的地址

也就是rbp通过寄存器我们可以得到

  • 8(%rbp):上一个堆栈的代码段开始
  • (%rbp): 上一个堆栈的开始

相关阅读