为什么没有MIPS的子操作码?

fud*_*din 9 architecture assembly mips

我是汇编语言的新手.我正在阅读有关MIPS架构的内容,并了解到您有addi操作码,但没有subi操作码.任何人都可以解释一下为什么我们没有subi操作码?

提前致谢.

Chr*_*egg 17

创建指令集时,您会受到一些约束的约束,例如您可以创建的指令总数.MIPS创建者意识到没有必要subi(因为你可以addi使用2的补码添加负数),他们只是决定放弃制作该指令.它可能是为了节省指令的数量,或仅仅是因为它不需要.

  • @ mskd96你忘记了帕特森和轩尼诗的设计原则之一:*"让常见的案例更快"*.`sub`比`subi`更常见,其中immediates大于32767,这就是为什么引入指令的原因,否则我们可以拥有一个完整的指令集[只有1条指令](http://en.wikipedia.org/wiki/One_instruction_set_computer)也很慢做常见的事情."好的设计要求妥协" (3认同)