如何知道在ARM中某个数字可以表示为32位立即?

时间:2016-01-29 11:39:16

标签: assembly arm

给定数字x,我们如何判断它可以表示为32位立即数。 是否存在任何公式?如果是,该公式是否详尽无遗,即涵盖所有可能的情况? ARM将指令集中最右边的12位分解为4位旋转位和8位值位。

1 个答案:

答案 0 :(得分:2)

我会研究开源编译器以及它们是如何做到的......

https://github.com/gcc-mirror/gcc/blob/master/gcc/config/arm/arm.c#L3820

/* Return TRUE if int I is a valid immediate ARM constant.  */
int
const_ok_for_arm (HOST_WIDE_INT i)
{
...
相关问题