如何在ppc64le中保存和恢复CR2-CR4

时间:2016-12-13 18:30:54

标签: powerpc

如何在ppc64le程序集中保存和恢复CR2-CR4个寄存器?

我知道mflr和mtlr指令。但我只想要cr2-cr4

1 个答案:

答案 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(或扩展助记符mtcrmfcr)一次性执行此操作,但它们正在逐步淘汰。