该字段由算术和条件分支指令使用。
第一个问题是:
可以存储在立即算术指令和条件分支中的值范围是多少?
二是:
如果 MIPS 处理器有 64 个寄存器,您将如何更改立即指令格式以引用这些寄存器?我将如何绘制和标记格式?
该字段由算术和条件分支指令使用。
第一个问题是:
可以存储在立即算术指令和条件分支中的值范围是多少?
二是:
如果 MIPS 处理器有 64 个寄存器,您将如何更改立即指令格式以引用这些寄存器?我将如何绘制和标记格式?
第 1 部分:
如图所示:
I-Type 指令为立即数字段保留 16 位。这当然意味着立即字段可以采用 2 16 个可能的值。如果我们考虑立即域可以是正数或负数(1 位用于符号),我们可以看到最大值为 2 15 - 1,最小值为 -(2 15 - 1)。
andi
, ori
, 和xori
零扩展立即数(0 到 2 16 - 1),而所有其他 MIPS I 类型指令对立即数/偏移量进行符号扩展。
第2部分:
同样,查看上图我们可以看到 rs 和 rt 寄存器用 5 位指定。这是因为 mips 指令集中有 32 个寄存器——即 2 5。如果有 64 个寄存器,则 rs 和 rt 字段都需要 6 位长,因此只剩下 14 位用于立即字段。