更改 CPSR 保留位

Altering the CPSR Reserved bits

尽管我知道所有 ARM 参考资料中都有下面的注释,但我想知道是否有任何方法可以更改 CPSR 中的保留位?如何更改保留位以生成我想要的值?

提前谢谢你,

备注 为了与未来的 ARM 处理器兼容,请勿更改程序状态寄存器的保留位。更改 CPSR 时使用读-修改-写操作。

http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0311d/ch02s04s02.html

您引用的文档中的关键词是:

For compatibility with future ARM processors

这意味着您无法知道这些位在特定 CPU 中的含义。您可能有一个 CPU 是在编写此文本后生成的,其中一个保留位具有特殊含义。

如果这个特殊含义是 "perform CPU reset" 你会在试图改变这些位时崩溃 CPU!

对于目前市场上的CPU我认为"dwelch"是正确的:这些位只是hard-wired到某个值并且不能被改变。