【问题标题】:MIPS sra Instruction on SPIMMIPS sra 关于 SPIM 的说明
【发布时间】:2017-10-09 04:57:06
【问题描述】:

我目前正在使用 SPIM (QTSim) 来了解 MIPS。我有几个关于 SPIM 命令及其工作原理的问题。

1)据我所知,MIPS通常使用16位来显示值,但是为什么QTSpim中的寄存器只有8位呢?

2) 对于寄存器$11(t3),原值为10,机器执行[sra $11, $11, 2]指令后,值从10变为4,这是怎么回事? 10只有2位,2位怎么右移?

谢谢。

【问题讨论】:

  • 你说的是哪个基地?十进制 10 是二进制的 1010,有 4 位
  • @LưuVĩnhPhúc 这实际上是我要问的问题的一部分,如果不清楚,抱歉。似乎 QTSimp 使用十六进制。但我不确定为什么 [sra $11, $11, 2] 会将 10 更改为 4,即使它是二进制的。如果是二进制,结果不应该是0010吗?

标签: mips spim


【解决方案1】:

1) 不知道你是从哪里得到这个想法的。 QtSpim 模拟基于 MIPS32 的机器,所以通用寄存器是 32 位的。

2) 10 十六进制是 10000 二进制。将其右移 2,得到 100 二进制,即十进制 4。您也可以将其视为 16 十进制除以 4,因为 sra 除以 N 位是 2^N 的(有符号)除法。

【讨论】:

  • 这帮助很大,谢谢。我应该知道我看到的10是十六进制的10,二进制确实是10000。
猜你喜欢
  • 2013-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
  • 2015-07-09
  • 1970-01-01
  • 1970-01-01
  • 2019-08-29
相关资源
最近更新 更多