$ fp和$ sp寄存器如何在MIPS中工作?

时间:2018-01-26 10:16:42

标签: mips cpu-architecture mips32

我目前正在阅读John L. Henessy的建筑课程计算机组织与设计。据我所知,$ sp指向堆栈中最近分配的地址,$ fp指向堆栈的开头。为什么我们需要$ fp?如果一个过程调用另一个过程,它们如何表现?例如,当堆栈增长时,堆栈指针会递减,但$ fp中的更改是什么?

1 个答案:

答案 0 :(得分:1)

$fp在调用当前函数之前包含$sp的值,即当前堆栈帧的开头(wikipedia)。 $fp对于常用PUSHPOP的x86计算机非常有用,对MIPS不太有用,其中$sp通常在进入函数时调整一次{\ n}} {1}}可以使用相对寻址。