尽管我在所有ARM参考中都知道下面的注释,但我想知道是否有任何方法可以改变CPSR中的保留位?如何更改保留位以生成我想要的值?
提前谢谢你,
注 为了与未来的ARM处理器兼容,请不要更改程序状态寄存器的保留位。更改CPSR时使用读取 - 修改 - 写入操作。
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0311d/ch02s04s02.html
答案 0 :(得分:2)
您引用的文档中的关键字是:
与未来的ARM处理器兼容
这意味着您无法知道这些位在特定CPU中的含义。您可能有一个在写入此文本后生成的CPU,其中一个保留位具有特殊含义。
如果这个特殊含义是“执行CPU复位”,那么在尝试改变这些位时会使CPU崩溃!
对于目前市场上的CPU,我认为“dwelch”是正确的:这些位只是硬连接到某个值,不能改变。