【发布时间】:2021-06-14 21:21:41
【问题描述】:
mips 指令andi $a0, $a0, 0x9AE3 的格式看起来是正确的。这是一种 I 类型格式 opcode rs rt immediate。为什么是无效的 mips 指令?
【问题讨论】:
-
它是有效和合法的。
clang -target mips -c foo.s组装得很好;我检查了是否有我遗漏的东西。该常数可以用 16 位零扩展立即数表示(与 RISC-V 不同),这些是合法的 MIPS 寄存器。如果您有理由认为不是,请提供详细信息(minimal reproducible example)。你试过用 MIPS16 模式(压缩指令)组装它吗? -
我正在阅读一篇论文,这是唯一的信息。然后它问为什么不是一个有效的 MIPS 指令?我不是专家,但正如我所说,它看起来是正确的。
-
什么纸?它有网址吗?汇编器将其组装成单个机器指令以用于真正的 MIPS 的事实使问题成为问题(基于错误的前提)。未来的读者可以检查自己。但是询问特定书籍或论文中的错误可能是相关的。 (或者他们可能在谈论一种修改后的 MIPS,它的工作方式不同,而不是真正的 MIPS。许多学生项目和东西使用简化的 MIPS,但与真正的商业 MIPS ISA 的兼容性有所不同,所以这是具体说明什么 MIPS 的另一个原因。 )
标签: assembly mips instructions