+ -
当前位置:首页 → 问答吧 → ARM立即数的疑惑

ARM立即数的疑惑

时间:2010-08-26

来源:互联网

ARM指令的立即数是由一个8位的常数循环右移偶数位得到。

ARM指令本身就是一条32bit指令,除了指令码本身,它不可能再带一个可以表示32bit的数字,所以用了其中的12bit来表示立即数,其中4bit表示移位的位数(循环右移,且数值x2),8bit用来表示要移位的一个基数。

我不理解的是,既然用12bit来表示立即数,为什么拿这12位直接表示一个立即数,反而要用一个基数,然后右移,如此麻烦的来表示。

这样做肯定有它的道理,那是为什么呢?

作者: atei   发布时间: 2010-08-26

12为直接表示能表示36位的数么?

作者: liying_gg   发布时间: 2010-08-26



QUOTE:
12为直接表示能表示36位的数么?
liying_gg 发表于 2010-08-26 16:51




    谢谢了,明白了

作者: atei   发布时间: 2010-08-26