如何使用MIPS $ k0和$ k1寄存器

时间:2015-01-13 12:34:09

标签: assembly mips cpu-registers

我想知道,MIPS架构中的$k0$k1寄存器是什么。 正如WikiBooks MIPS Assembly

那样
  

k个寄存器保留供OS内核使用。

但我无法找到关于它们有用的内容的任何内容?以及如何使用它们?

谢谢。

1 个答案:

答案 0 :(得分:11)

中断处理程序必须保存它将要使用的任何通用寄存器(在返回时恢复)。但要这样做,首先需要修改至少一个寄存器(某事 例如sw $t0, saved_t0使用$at扩展为两个机器指令。

通过禁止用户程序使用两个通用寄存器$k0$k1来解决这种情况(k代表内核,异常处理程序是其中的一部分)。允许中断处理程序使用$k0$k1,而无需保存或恢复其值。这允许足够的余地开始保存寄存器,以及从中断处理程序返回。