在《ARM体系结构》一书中,
讲到了立即数方式----每个立即数由一个8位的常熟循环右移偶数位得到。
这样并不是每一个32位的常数都是合法的立即数,只有通过上面的方法构造得
到的才是合法的立即数。
下面是合法的立即数:
0xff,0x144,0xff0,0xff00
而下面的不是合法的:
0x101,0x102,0xff1
请问立即数是否合法怎么判断的啊?
另外:
0x3f循环右移(2*0xE)后怎么得到了ox3f0??
8位立即数循环右移又到底是怎么回事呢?
8位二进制循环右移后是不是仍然是8位二进制呢? |