add.s MIPS 中的 $f8,$f10,$f12 到二进制

add.s $f8,$f10,$f12 in MIPS to binary

我正在尝试写

add.s $f8,$f10,$f12

(MIPS) 二进制。我得到了

01011 01010 01100 01010 01000 000000

MARS 将其编译为

010001  10000   01100   01010   01000   000000

不确定哪里出了问题。帮忙?

首先,您只显示了 31 位数字。

其次,您在操作码和 fmt 字段中输入了十进制数字 11 和 10,但它们是十六进制的 11 和 10(十进制的 17 和 16)。

MIPS Green Sheet 第一页的顶部,最后一列的 header 表示:(十六进制)。我们还可以通过查看该列中的一些值来验证这一点,例如FUNCT 代码显示 1a divOPCODE 字段显示 3d sdc1

另一方面,绿色 Sheet 非常混乱,因此您必须仔细阅读。以 "OPCODES, BASE CONVERSION, ASCII SYMBOLS" table 为例,它对 6 个二进制数字执行二进制 <-> 十进制 <-> 十六进制,同时显示操作码和函数字段以及 ASCII 图表 — 非凡的 table.