如何使用 MIPS $k0 和 $k1 寄存器
How to use MIPS $k0 and $k1 registers
我想知道,MIPS架构中的$k0
和$k1
寄存器是什么。
正如 WikiBooks MIPS Assembly
The k registers are reserved for use by the OS kernel.
但是我找不到关于它们有什么用处?以及如何使用它们的任何信息?
谢谢。
中断处理程序必须保存它将要使用的任何通用寄存器(将在 return 处恢复)。但这样做需要您首先修改至少一个寄存器(某物
像 sw $t0, saved_t0
使用 $at
).
扩展为两条机器指令
通过禁止用户程序使用两个通用寄存器 $k0
和 $k1
(k 代表内核,异常处理程序是内核的一部分)来解决这种情况。允许中断处理程序使用 $k0
和 $k1
而无需保存或恢复它们的值。这允许有足够的余地来开始保存寄存器,以及使 return 从中断处理程序中调用成为可能。
我想知道,MIPS架构中的$k0
和$k1
寄存器是什么。
正如 WikiBooks MIPS Assembly
The k registers are reserved for use by the OS kernel.
但是我找不到关于它们有什么用处?以及如何使用它们的任何信息?
谢谢。
中断处理程序必须保存它将要使用的任何通用寄存器(将在 return 处恢复)。但这样做需要您首先修改至少一个寄存器(某物
像 sw $t0, saved_t0
使用 $at
).
通过禁止用户程序使用两个通用寄存器 $k0
和 $k1
(k 代表内核,异常处理程序是内核的一部分)来解决这种情况。允许中断处理程序使用 $k0
和 $k1
而无需保存或恢复它们的值。这允许有足够的余地来开始保存寄存器,以及使 return 从中断处理程序中调用成为可能。