Memory management x86和MIPS内存寻址

Memory management x86和MIPS内存寻址,memory-management,x86,mips,addressing,Memory Management,X86,Mips,Addressing,我对x86和MIPS上的内存寻址有一个问题。现在我在学校上计算机组织课,遇到了麻烦,因为教授的解释我不太清楚。我对内存寻址的了解如下 内存(堆栈)地址从上到下开始,esp(堆栈指针)指向具有最高内存的堆栈内存的顶部。每当在堆栈上分配内存时,ebp(基本指针)就会下降并分配内存 我的理解正确吗??我一直在寻找一个关于这一点的清晰和有组织的解释,但有许多不同的资源。这个解释和我所知道的记忆相反。我需要帮助!!感谢不同体系结构的堆栈可能会有不同的方式,这取决于该体系结构的ABI。看看 如果您特别指的是

我对x86和MIPS上的内存寻址有一个问题。现在我在学校上计算机组织课,遇到了麻烦,因为教授的解释我不太清楚。我对内存寻址的了解如下

内存(堆栈)地址从上到下开始,esp(堆栈指针)指向具有最高内存的堆栈内存的顶部。每当在堆栈上分配内存时,ebp(基本指针)就会下降并分配内存


我的理解正确吗??我一直在寻找一个关于这一点的清晰和有组织的解释,但有许多不同的资源。这个解释和我所知道的记忆相反。我需要帮助!!感谢

不同体系结构的堆栈可能会有不同的方式,这取决于该体系结构的ABI。看看

如果您特别指的是MIPS或x86,那么是的,堆栈指针会从较高的地址转到较低的地址。(而且它遵循后进先出的原则,所以最后一个出现的东西都会先被删除)


不管是从上到下还是从下到下(查看反转堆栈或非反转堆栈),重要的是堆栈从具有较高值的地址转到具有较低值的地址(如您提供的链接所示)

所以堆栈从高到低的思想对所有架构都是好的??这取决于该架构的ABI。对于x86和mips,它总是从较高的addr转到较低的addr