【问题标题】:Converting binary/hexadecimal to MIPS instructions将二进制/十六进制转换为 MIPS 指令
【发布时间】:2015-01-28 08:12:46
【问题描述】:

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

二进制:00000001110001011000100000100001

十六进制:144FFF9D

我完全迷失了我在这里所做的事情 - 在线搜索产生了一堆对我来说毫无意义的结果,但我收集到的是我基本上应该将这些数字与他们适当的指令/寄存器,但我怎么知道那些是什么?我在哪里可以找到完整的列表?怎么知道是RI还是J格式的函数?

【问题讨论】:

    标签: mips


    【解决方案1】:

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

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

    【讨论】:

    • 所以在第一个二进制示例中 - 因为它有 0000 00,它会是 R 格式,对吗?最后 6 位数字(在我的情况下为 1000 01)将是实际的功能/操作?
    • 这就是我链接到的页面所说的。
    【解决方案2】:

    MIPS 指令有 3 种类型:

    • 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-26
      • 2016-08-28
      • 2013-07-25
      相关资源
      最近更新 更多