【发布时间】:2019-04-16 14:25:16
【问题描述】:
我在考试中遇到了这个问题,我很困惑,因为据我所知
move $t0, $a0 # COPY $A0 TO $T0
在 MIPS 指令中提供了这一点,而 MIPS 是一个 RISC 处理器。我错过了什么吗?
【问题讨论】:
-
如果它们像 MIPS 一样有零寄存器(大多数类似 RISC 的都有),那么
add/or是“明显的”替换。如果没有零寄存器,它会让我摸不着头脑。 -
另外,如果您错过了有关机器代码如何编码的部分,原因可能并不明显。在 RISC 机器上,通常每条指令的大小正好是一个机器“字”(通常是 32 位)。因此,您需要编码的指令越少,为寄存器规范和/或立即值留下的位就越多。请注意,32 位指令不能同时包含指令操作码和 32 位立即数,这就是为什么将 32b RISC CPU 上的完整 32b 常量加载到寄存器通常需要 2-3 条普通指令,或者从内存中获取常量。否
move= 其他人的更多位。
标签: assembly cpu-architecture instruction-set risc