我对x86和MIPS上的内存寻址有疑问。现在我正在我的学校上一个计算机组织班,并且因为教授的解释对我不太清楚而烦恼。我对内存寻址的了解如下。
内存(堆栈)地址从上到下开始,esp(堆栈指针)指向具有最高内存的堆栈内存的顶部。每当在堆栈上分配内存时,ebp(基指针)就会关闭并分配内存。
我理解正确吗?我一直在寻找一个清晰而有组织的解释,但有许多资源的说法不同。 on this post解释与我对记忆的了解相反。我需要帮助!!感谢
答案 0 :(得分:0)
不同架构的堆栈可能采用不同的方式,并由该架构的ABI决定。看看this link
如果您具体指MIPS或x86,那么是,堆栈指针确实从较高地址到较低地址。 (并且它遵循LIFO,所以最后的任何内容都会先删除。)
无论是从上到下,反之亦然(查看倒置堆栈或非倒置堆栈),重要的是堆栈从具有较高值的地址变为较低值的地址(如在您提供的链接中)