【问题标题】:x86 and MIPS memory addressingx86 和 MIPS 内存寻址
【发布时间】:2013-10-19 21:31:14
【问题描述】:

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

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

我理解正确吗?我一直在寻找一个清晰而有条理的解释,但是有很多资源的说法不同。而on this post 的解释与我对内存的了解相反。我需要帮助!!谢谢

【问题讨论】:

    标签: memory-management x86 mips addressing


    【解决方案1】:

    不同架构的堆栈可能采用不同的方式,这由该架构的 ABI 决定。看看this link

    如果您专门指的是 MIPS 或 x86,那么是的,堆栈指针确实从高地址到低地址。 (并且它遵循 LIFO,因此最后出现的内容首先被删除)。

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

    【讨论】:

    • 所以堆栈从高到低的想法对所有架构都有好处??
    • 由该架构的 ABI 决定。对于 x86 和 mips,它总是从高地址到低地址
    猜你喜欢
    • 2015-06-25
    • 2013-11-05
    • 2013-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多