如何在ppc64le程序集中保存和恢复CR2-CR4
个寄存器?
我知道mflr和mtlr指令。但我只想要cr2-cr4
答案 0 :(得分:2)
CRx
实际上不是寄存器,而是32字节寄存器中的4字节字段。您可以在Power ISA 2.07中获得更多详细信息 - 请参阅第30页第2.3节。
mtlr
/ mflr
保存并恢复链接寄存器,这是不同的:它用于间接分支。
您可以使用mfocrf
/ mtocrf
保存和恢复单个CR字段:请参阅第3.3.16.1节,第112页。
mfocrf r10,0x2
应保存CR2
mfocrf r10,0x4
应保存CR3
mfocrf r10,0x8
应保存CR4
理论上,您可以使用mfcrf
(或扩展助记符mtcr
和mfcr
)一次性执行此操作,但它们正在逐步淘汰。