【发布时间】:2015-08-30 19:29:05
【问题描述】:
$t (临时) 如果需要,调用者被保存。子程序可以使用不保存。不跨过程调用保留。
$s(保存的值)被调用者保存。使用其中之一的子例程必须保存原始文件并在退出前恢复它。跨过程调用保留。
什么时候使用哪些寄存器?据我猜测,在处理子程序时,我们使用 $s 寄存器,否则使用 $t 寄存器。
何时使用 $f 寄存器?
【问题讨论】:
$t (临时) 如果需要,调用者被保存。子程序可以使用不保存。不跨过程调用保留。
$s(保存的值)被调用者保存。使用其中之一的子例程必须保存原始文件并在退出前恢复它。跨过程调用保留。
什么时候使用哪些寄存器?据我猜测,在处理子程序时,我们使用 $s 寄存器,否则使用 $t 寄存器。
何时使用 $f 寄存器?
【问题讨论】:
尽可能使用$txx。使用$sxx 表示需要跨调用保留的程序状态。 (一个常见且难以发现的错误是意外期望 $txx 寄存器在调用过程中保持不变的状态。)
$fxx 寄存器仅供浮点使用。不要将它们用于其他任何事情 - 那样是疯狂的。
【讨论】: