为什么不能用R格式MIPS指令中的操作代码代替功能代码?

时间:2019-07-02 09:48:21

标签: mips

仅R格式指令已定义功能代码。我注意到R格式指令的操作码为零。为什么功能代码旨在标识特定的操作,而不是R格式指令的操作代码?

1 个答案:

答案 0 :(得分:1)

MIPS32具有大约160种不同的指令(根据确切的版本,给出或取一些指令),而 opcode 字段固定为6位。

很显然,您无法在6位中编码160个唯一值。因此,某些指令共享相同的操作码,并使用指令字中的其他位来唯一标识该指令。

对于R-Type指令,使用操作码0(又名 SPECIAL )或0x1C(又名 SPECIAL2 )。指令字的6个最低有效位-称为 function 位-确定确切的指令。