1.1. 设置CPU模式

所以,上面四行汇编代码的含义就很清楚了。

先是把CPSR的值放到r0寄存器中,然后清除bit[4:0],然后再或上

0xd3=11   0  10111b

表 1.5. CPSR=0xD3的位域及含义

CPSR位域76543210
位域含义IF M4M3M2M1M0
0xD311010011
对应含义关闭中断IRQ关闭快速中断FIQ 设置CPU为SVC模式,这和上面代码注释中的“set the cpu to SVC32 mode”,也是一致的。


关于为何设置CPU为SVC模式,而不是设置为其他模式,请参见本文档后面的章节:第 3.2 节 “uboot初始化中,为何要设置CPU为SVC模式而不是设置为其他模式”