chai2010/advanced-go-programming-book

3.2.4 (P146) 请求确认:伪寄存器SP指向的是当前栈帧的**底部**吗?

FFng opened this issue · 2 comments

FFng commented

章节:3.2.4 (纸质书P146)
原文:

伪寄存器Sp栈指针对应的是当前函数栈帧的底部(不包括参数和返回值部分),一般用于定位局部变量。

我个人的理解是 SP 指向的应该是 local stack frame 的顶部,这样也能解释配图中SP所指向的位置的偏移量为负:t-8(SP)
可能这是一个笔误?或者是我的理解出现了偏差?还希望您能指点^_^

参考 A Quick Guide to Go's Assembler:

The SP pseudo-register is a virtual stack pointer used to refer to frame-local variables and the arguments being prepared for function calls. It points to the top of the local stack frame, ...

栈是向低地址增长,因此栈底是高地址位置。官网的文档说法不准确

FFng commented

嗯嗯,清楚了。
谢谢您。