ORR R0,R0,#R1_nF:OR:R1_iA

发布时间:2024-01-01 06:31:12
?? ?ORR R0,R0,#R1_nF:OR:R1_iA
?
我是先看到这东西才开始疑惑的:
这是S3C2440手册关于时钟介绍时的一部分,很明显它扯到了协处理器P15的C1寄存器,让我们来看看这是啥:
原来iA位和nF位是控制CPU总线模式的:
orr r0,r0,#R1_nF:OR:R1_iA
这命令的意思肯定是让CPU的总线模式从“fast bus mode”变为“asynchronous bus mode”
怎么理解#R1_nF:OR:R1_iA这东西,刚开始以为这是arm指令的某个命令,网上找到有人把它理解成条件运算符(exp1?exp2:exp3;),其实它就是对r0寄存器的30,31位置“1”的一条伪代码。所以我们在bootloader里会看到这样的代码:

???????mrc p15,0,r0,c1,c0,0

???????orr r0,r0,#0xc0000000;R1_nF:OR:R1_iA

???????mcr p15,0,r0,c1,c0,0

所以 #R1_nF:OR:R1_iA 就是 #0xc0000000的意思?


转自: http://blog.chinaunix.net/uid-26404697-id-3166492.html
文章来源:https://blog.csdn.net/fengsheng301/article/details/25918963
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。