arm经典300问答
第1 章 体系结构
第1 问:
Q:请问在初始化CPU 堆栈的时候一开始在执行mov r0, LR 这句指令时处理器是什么模式
A:复位后的模式,即管理模式.
第2 问:
Q:请教:MOV 中的8 位图立即数,是怎么一回事 0xF0000001 是怎么来的
A:是循环右移,就是一个0—255 之间的数左移或右移偶数位的来的,也就是这个数除以4
一直除, 直到在0-255 的范围内它是整数就说明是可以的!
A:8 位数(0-255)循环左移或循环右移偶数位得到的,F0000001 既是0x1F 循环右移4 位,
符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把32 位立即数放在
32 位的指令中.移位偶数也是这个原因.可以看一看ARM 体系结构(ADS 自带的英文文
档)的相关部分.
更多回帖