【问题标题】:MIPS I instruction immediate fieldMIPS I 指令立即域
【发布时间】:2014-04-17 01:37:05
【问题描述】:

该字段由算术和条件分支指令使用。

第一个问题是:

可以存储在立即算术指令和条件分支中的值的范围是多少?

第二个是:

如果 MIPS 处理器有 64 个寄存器,您将如何更改立即指令格式以引用这些寄存器?我将如何绘制和标记格式?

【问题讨论】:

  • 苏...你有什么想法?告诉我们您的想法,也许我们可以指出您误入歧途的地方
  • 不确定不知道从哪里开始回答这个问题

标签: assembly mips machine-code immediate-operand


【解决方案1】:

第 1 部分

如图所示:

I-Type 指令为立即数字段保留 16 位。这当然意味着立即字段可以采用 216 个可能的值。如果我们考虑立即字段可以是正数或负数(1 位用于符号),我们可以看到最大值为 215 - 1,最小值为 -(215 - 1).

andiorixori 对立即数进行零扩展(0 到 216 - 1),而所有其他 MIPS I 类型指令对立即数/偏移量。


第 2 部分:

再次,查看上图我们可以看到 rs 和 rt 寄存器用 5 位指定。这是因为 mips 指令集中有 32 个寄存器——即 25。如果有 64 个寄存器,则 rs 和 rt 字段都需要 6 位长,因此立即字段只剩下 14 位。

【讨论】:

  • 谢谢!对于第 2 部分,如果 rs 和 rt 现在都是 6 而 imm 是 14,那会改变操作吗?如果不是,总数将是 32 编辑:啊,好的,我在寄存器中得到了 2^6,非常感谢
猜你喜欢
  • 2019-12-17
  • 2016-04-29
  • 2020-07-26
  • 1970-01-01
  • 2017-10-30
  • 2011-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多