MOV中的8位图立即数是怎么回事 0xF0000001是怎么来的
时间:10-02
整理:3721RD
点击:
请教:MOV中的 8位图立即数,是怎么一回事 0xF0000001是怎么来的
是循环右移, 就是一个 0—255 之间的数左移或右移偶数位的来的,也就是这个数除以 4一直除, 直到在 0-255的范围内它是整数就说明是可以的!
8位数(0-255)循环左移或循环右移偶数位得到的,F0000001既是 0x1F循环右移4位,符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把 32位立即数放在32位的指令中.移位偶数也是这个原因.可以看一看ARM体系结构(ADS自带的英文文档)的相关部分.
