解码多长度操作码 (SPU ISA)

Decoding muli-length opcodes (SPU ISA)

我已经从我实现的汇编程序中生成了 32 位十六进制指令的转储。指令转储的一个子集如下所示:

指令的操作码长度为 4、7、8、9 和 11。它们始终是指令中的第一位。如果操作码长度不同,我无法理解如何解码指令?

例如:当我读取一条指令时,我怎么知道应该为操作码读取多少位?

这是指令格式的图像:

谢谢

我想通了。 我读取了所有指令的最大操作码位数 (11),并忽略了没有意义的位(即不会产生可能的操作码的位)。