Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 什么是MTMSREE PowerPC op?_Assembly_Powerpc - Fatal编程技术网

Assembly 什么是MTMSREE PowerPC op?

Assembly 什么是MTMSREE PowerPC op?,assembly,powerpc,Assembly,Powerpc,我正在看一个用MSVC编译的(Xenon)PowerPC可执行文件的核心转储。我正在调试的函数有一个op,MSVC反汇编程序调用它mtmsree r13mtmsree不在PPC的IBM文档中;这个行动是做什么的 它紧跟在一个mfmsr之后,显然它正在将某些内容移动到机器状态寄存器,但我不知道ee后缀应该是什么意思。它一定是某种可爱的微软昵称,PPC文档称之为不同的操作。我把指令的机器码分开(01111101101 00001 00000001011010 0)事实证明,mtmsree就是其他人所

我正在看一个用MSVC编译的(Xenon)PowerPC可执行文件的核心转储。我正在调试的函数有一个op,MSVC反汇编程序调用它
mtmsree r13
mtmsree
不在PPC的IBM文档中;这个行动是做什么的


它紧跟在一个
mfmsr
之后,显然它正在将某些内容移动到机器状态寄存器,但我不知道
ee
后缀应该是什么意思。它一定是某种可爱的微软昵称,PPC文档称之为不同的操作。

我把指令的机器码分开(
01111101101 00001 00000001011010 0
)事实证明,
mtmsree
就是其他人所说的
mtmsrd

mtmsr指令的21:30位是0010010,而不是001011010


我的猜测是,mtmsree是一种氙特定指令,它只设置MSR中的EE位。Book E机器有wrtee和wrteei指令来执行此操作。我希望我知道在哪里可以找到氙气的PEM。

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

IBM的第三册:PowerPC操作环境体系结构v2.02(第91页)中有关于这一点的公开文档

  • 卢克H

My bad--001011010是mtmsrd,而不是mtmsr(即64位版本)。但如果你在IBM文档中搜索mtmsrd,它只会把你带到MTMSR。据我所知,相关的PEM只是IBM的“PowerPC微处理器系列:64位和32位微处理器的编程环境手册”。但MSFT喜欢为事物发明自己古怪的小代码名。