如何知道MIPS指令的操作码是Register,Imidiate还是Jump? 鉴于本书中的这个表,但有没有办法定义操作码的格式?
答案 0 :(得分:5)
看看操作码位 - 最重要的6位。在C中,如果n
是32位命令dword,则操作码的表达式为(n >> 26) & 0x3f
。
如果操作码为0,那么它是一个寄存器命令。
如果它是2(j
),3(jal
)或26(trap
) - 那就是跳跃。
立即。
MIPS编码的备忘单,包括所有操作码的列表,可以here,也可能在其他地方。