【问题标题】:When to use which registers?什么时候使用哪些寄存器?
【发布时间】:2015-08-30 19:29:05
【问题描述】:

$t (临时) 如果需要,调用者被保存。子程序可以使用不保存。不跨过程调用保留。

$s(保存的值)被调用者保存。使用其中之一的子例程必须保存原始文件并在退出前恢复它。跨过程调用保留。

什么时候使用哪些寄存器?据我猜测,在处理子程序时,我们使用 $s 寄存器,否则使用 $t 寄存器。

何时使用 $f 寄存器?

【问题讨论】:

    标签: assembly mips


    【解决方案1】:

    尽可能使用$txx。使用$sxx 表示需要跨调用保留的程序状态。 (一个常见且难以发现的错误是意外期望 $txx 寄存器在调用过程中保持不变的状态。)

    $fxx 寄存器仅供浮点使用。不要将它们用于其他任何事情 - 那样是疯狂的。

    【讨论】:

      猜你喜欢
      • 2023-01-18
      • 1970-01-01
      • 2020-01-14
      • 2021-02-09
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 2016-12-06
      • 2012-11-12
      相关资源
      最近更新 更多