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

问题描述 投票:3回答:2

对于以下条目,它们分别代表什么说明?

二进制:00000001110001011000100000100001

十六进制:144FFF9D

我完全迷失在这里所做的事情 - 在线搜索已经产生了一堆对我来说没什么意义的结果,但我收集到的是我基本上应该将这些数字与他们适当的指示相匹配/ register,但我怎么知道那些是什么?我在哪里可以找到全面的清单?我怎么知道它是R I还是J格式函数?

mips
2个回答
4
投票

前6位(以二进制方式工作更容易)是操作码,您可以从中确定如何解释其余的操作码。这个网站应该让你入门:http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html

更新:调用操作码的前6位(过于善意)会产生误导,但它足以告诉您如何解释其余的指令;您可能需要查看其他地方(通常在指令的末尾)以完全确定操作码。


1
投票

有3种类型的MIPS指令:

  • R_type:操作码必须是000000(前6位),最后6位我们才能知道什么是正确的指令
  • I_TYPE
  • j_type

在这种情况下,我们有一个R型MIPS指令,因此:

Opcode  rs      rt     rd    shamt    funct
000000  01110  00101  10001  00000   100001
 addu   $s1 ,   $t6   , $a1
© www.soinside.com 2019 - 2024. All rights reserved.