我想禁用e200z7的MSR寄存器的第16位。这是我正在使用的:
/* Disable MSR[EE] bit*/
mfmsr r6
e_and2i r6,0x7fff
mtmsr r6
当我使用powerpc_eabivle_4_9 / bin / powerpc-eabivle-gcc编译.S文件时,出现以下错误:
Error: unrecognized opcode: `e_and2i'
如何不使用and
指令将其设置为0?
unsigned foo(unsigned x) {
return x &= ~(1UL << 16);
}
foo(unsigned int):
rlwinm 3,3,0,16,14
blr
我认为rlwinm
在每台PowerPC上都可用,或者至少不是特别新颖或稀有。