什么是MTMSREE PowerPC op?

时间:2009-09-28 18:23:17

标签: assembly powerpc

我正在查看使用MSVC编译的(Xenon)PowerPC可执行文件的核心转储。我正在调试的函数有一个MSVC反汇编程序调用{​​{1}}的操作。 mtmsree r13不在PPC的IBM文档中;这个操作是做什么的?

它紧跟在mtmsree之后,显然它正在向机器状态寄存器移动,但我不知道那个mfmsr后缀是什么意思。对于PPC文档称之为不同的操作,它必须是某种可爱的微软昵称。

3 个答案:

答案 0 :(得分:4)

该指令是mtmsrd指令的扩展形式,其L位设置(0x00010000)。它不是修改整个MSR,而是仅修改EE(外部中断使能)和RI(可恢复中断)btis。它比mtmsrd L = 0更快,因为它执行同步而不是上下文同步。这是一个特权指令,因此会导致操作系统异常,并且。:仍然很慢。

在IBM的Book III中有公开文档:PowerPC Operating Environment Architecture v2.02(第91页),http://www.ibm.com/developerworks/power/library/pa-archguidev2/?S_TACT=105AGX16&S_CMP=LP

  • Luke H

答案 1 :(得分:0)

我选择了指令的机器代码(011111 01101 00001 00000 0010110010 0),结果发现mtmsree是其他人只是调用mtmsrd的内容。

答案 2 :(得分:0)

mtmsr指令的21:30位是0010010010,而不是0010110010。

我的猜测是mtmsree是一个特定于Xenon的指令,它只设置MSR中的EE位。 Book E机器有wrtee和wrteei指令来做到这一点。我希望我知道在哪里可以找到氙气PEM。