$f0、$f1 等是 MIPS 中的浮点寄存器。其中有 32 个。只有 32 个寄存器的机器怎么样?$s0 和 $t0 等其他寄存器在哪里?
问问题
423 次
1 回答
2
MIPS 架构具有不同的寄存器集:
- 通用寄存器(编号 0 到 31)
- 浮点寄存器(16个双精度寄存器)
- 一些特殊寄存器(程序计数器 PC(在架构上不可见)、LO 和 HI 寄存器用于保存乘法和除法的结果)
通用寄存器也有同义词:
- $1 被命名为 $at
- $2-$3 被命名为 $v0 和 $v1
- $4-$7 被命名为 $a0-$a3
- $8-$15 被命名为 $t0-$t7
- $16-$23 被命名为 $s0-$s7
- $24-$25 被命名为 $t0 和 $t1
- $26-$27 被命名为 $k0, $k1
- $28 是 $gp(全局指针)
- $29 是 $sp(堆栈指针)
- $30 是 $fp(帧指针,不要与浮点寄存器混淆)
- $31 是 $ra(返回地址)
另请注意,$0 硬连线到常量零
您必须在每条指令中查看可以使用哪个寄存器集(例如,浮点运算将使用浮点寄存器集)。
于 2012-09-18T19:32:19.993 回答