我想知道,MIPS架构中的$k0
和$k1
寄存器是什么。
正如WikiBooks MIPS Assembly
k个寄存器保留供OS内核使用。
但我无法找到关于它们有用的内容的任何内容?以及如何使用它们?
谢谢。
答案 0 :(得分:11)
中断处理程序必须保存它将要使用的任何通用寄存器(在返回时恢复)。但要这样做,首先需要修改至少一个寄存器(某事
例如sw $t0, saved_t0
使用$at
扩展为两个机器指令。
通过禁止用户程序使用两个通用寄存器$k0
和$k1
来解决这种情况(k代表内核,异常处理程序是其中的一部分)。允许中断处理程序使用$k0
和$k1
,而无需保存或恢复其值。这允许足够的余地开始保存寄存器,以及从中断处理程序返回。