目前我正在研究MIPS架构, 我遇到了子程序调用,它说堆栈分配是在处理器内使用寄存器
进行的但我也学过java的基础编程课程。如果我知道的是正确的! " 函数调用期间的堆栈内存分配发生在RAM "
中this i confirmed from stack overflow (2nd ans)
任何人都可以告诉我,我的理解是错误的,如果是,为什么?
提前致谢
答案 0 :(得分:3)
堆栈直接在RAM中,对于大多数处理器,MIPS都有寄存器来帮助它有效地移动到堆栈中并跟踪数据。这两个重要的处理器寄存器是堆栈指针(指向堆栈的顶部)和帧指针(指向堆栈中的当前堆栈帧)。
答案 1 :(得分:0)
堆栈是从RAM中分配的。快速浏览一下您的链接,但无法找到他们所说的堆栈分配在处理器内使用寄存器的位置。也许他们指的是在调用子程序之前放置变量的位置。