MIPS 0x8008FFC0是否没有指令类型?

MIPS 0x8008FFC0是否没有指令类型?,mips,Mips,我正在做作业,其中一个问题是将0x8008FFC0解码为MIPS汇编语言指令,并编写指令类型。 0x8008FFC0转换为1000 0000 0000 1000 1111 1111 1100 0000, 100000条指令是磅。我在看MIPS参考数据。“绿表”,我没有看到它列在“核心指令集”中。那么它甚至有指令类型吗?如果是,为什么 谢谢MIPS处理器中有三种指令类型:R、I和J 在MIPS处理器中,R型指令的操作码为000000,因此此指令不能是R型指令 J型指令可移动电脑,并具有[opcod

我正在做作业,其中一个问题是将0x8008FFC0解码为MIPS汇编语言指令,并编写指令类型。 0x8008FFC0转换为1000 0000 0000 1000 1111 1111 1100 0000, 100000条指令是磅。我在看MIPS参考数据。“绿表”,我没有看到它列在“核心指令集”中。那么它甚至有指令类型吗?如果是,为什么


谢谢

MIPS处理器中有三种指令类型:R、I和J

在MIPS处理器中,R型指令的操作码为000000,因此此指令不能是R型指令

J型指令可移动电脑,并具有[opcode][target]格式。lb不能移动我们,也没有那种格式,所以它不可能是J

剩下的唯一选项是I,如您所见,lb的格式为[opcode][src][dest][immediate],因此它是I类型指令

希望有帮助

假设你指的是绿纸。你看第一页上的表格,上面写着“核心指令集”,它列出了一堆load x指令,它们都是I型的,所以有理由猜测lb也是I型的。(特别是,无符号加载字节应该与加载字节的指令类型相同。)

或者,如果您知道如何使用该指令,我认为它是lb$t offset($s),您可以看到它引用了两个寄存器($s和$t)和一个立即值(offset)。从中你可以看到它是I型的


至于你关于操作码和函数码的问题。操作码是指令的前六位,它是计算机决定做什么的第一件事情。因为它是六位的,所以有64个可能的值。这足以唯一标识每个I型和J型指令,但为了增加可用指令的数量,R型指令的标识略有不同。每个R型指令都有一个000000的操作码,计算机通过最后5位(称为功能码)来区分它们。

正如您所看到的,它是
lb$8,-64$0
,本质上它是一个I型指令谢谢您的回答。此外,我的问题是,我将如何用“绿皮书”做到这一点。我再也吃不下别的了。你能解释一下MIPSopcode(31:26)(1)MIPSfunct(5:0)(2)MIPSfunct(5:0)吗?