在具有 32 位指令大小的 ARM 处理器中,我知道 ARM 可以使用 8 位存储值和 4 位用于位旋转指令(将 8 位值移位 2 的倍数)以获得比直接值的简单 8/12 位表示要好得多。
虽然我了解 ARM 如何获得扩展范围的过程,但我很想知道是否有一种方法可以轻松检查我们选择的立即值在此方案下是否有效。我们正在寻找什么样的数字特征(无论是二进制还是十六进制),可以帮助我们确定这个值在 ARM 的位循环方案下是否有效?
编辑:这是我正在谈论的概念的链接。
在具有 32 位指令大小的 ARM 处理器中,我知道 ARM 可以使用 8 位存储值和 4 位用于位旋转指令(将 8 位值移位 2 的倍数)以获得比直接值的简单 8/12 位表示要好得多。
虽然我了解 ARM 如何获得扩展范围的过程,但我很想知道是否有一种方法可以轻松检查我们选择的立即值在此方案下是否有效。我们正在寻找什么样的数字特征(无论是二进制还是十六进制),可以帮助我们确定这个值在 ARM 的位循环方案下是否有效?
编辑:这是我正在谈论的概念的链接。