从指令大小、操作码大小和操作数数量中查找最大寄存器计数

Finding maximum number of register counts from instruction size, op-code size, and number of operands

我一直在思考如何获得答案。我想说我做了自己的研究,但要么我没有在寻找正确的问题,要么我是盲人。有人可以解释找到答案背后的逻辑吗?我很茫然。

输入寄存器计数:

16 位指令,5 位操作码,2 个操作数的最大寄存器数

16 位指令,8 位操作码,2 个操作数的最大寄存器数

这只是算术。总共 16 位,5 位用于操作码,剩下 11。将 11 除以 2 表明如果您需要两个操作数,每个操作数最多可以有 5 位来表示它,您将剩下 1 位用于其他用途.使用 5 位,您可以寻址 2^5=32 个寄存器。

现在你做另一个。