将二进制/十六进制转换为MIPS指令

将二进制/十六进制转换为MIPS指令,mips,Mips,对于以下条目,它们分别代表什么指令 二进制:0000000 111000101100001000001 十六进制:144FFF9D 我完全不知道我在这里做什么——在线搜索产生了一系列对我来说毫无意义的结果,但我收集的是我基本上应该将数字与它们相应的指令/寄存器匹配,但我如何确切地知道它们是什么?我在哪里可以找到一份全面的清单?我如何知道它是R I还是J格式函数?前6位(二进制更容易使用)是操作码,您可以从中确定如何解释其余的。此网站应该让您开始: 更新:调用操作码的前6位(太客气了)有误导性,但

对于以下条目,它们分别代表什么指令

二进制:0000000 111000101100001000001

十六进制:144FFF9D

我完全不知道我在这里做什么——在线搜索产生了一系列对我来说毫无意义的结果,但我收集的是我基本上应该将数字与它们相应的指令/寄存器匹配,但我如何确切地知道它们是什么?我在哪里可以找到一份全面的清单?我如何知道它是R I还是J格式函数?

前6位(二进制更容易使用)是操作码,您可以从中确定如何解释其余的。此网站应该让您开始:


更新:调用操作码的前6位(太客气了)有误导性,但它足以告诉您如何解释指令的其余部分;您可能需要查看其他地方(通常在指令末尾)以完全确定操作码。

有3种类型的MIPS指令:

  • R_类型:操作码必须是000000(前6位),最后6位我们可以知道什么是正确的指令
  • I_型
  • j_型
在这种情况下,我们有一条R型MIPS指令,因此:

Opcode  rs      rt     rd    shamt    funct
000000  01110  00101  10001  00000   100001
 addu   $s1 ,   $t6   , $a1

所以在第一个二进制示例中-因为它有0000 00,所以应该是R格式,对吗?最后6位数字(在我的例子中是1000 01)将是实际的功能/操作?这就是我链接到的页面所说的。