仅R格式指令已定义功能代码。我注意到R格式指令的操作码为零。为什么功能代码旨在标识特定的操作,而不是R格式指令的操作代码?
答案 0 :(得分:1)
MIPS32具有大约160种不同的指令(根据确切的版本,给出或取一些指令),而 opcode 字段固定为6位。
很显然,您无法在6位中编码160个唯一值。因此,某些指令共享相同的操作码,并使用指令字中的其他位来唯一标识该指令。
对于R-Type指令,使用操作码0(又名 SPECIAL )或0x1C(又名 SPECIAL2 )。指令字的6个最低有效位-称为 function 位-确定确切的指令。