什么是 rlwinm 的 C 等价物(PPC 指令)

What would be the C equivalent of rlwinm (PPC Instruction)

我想知道你们是否知道下面 powerpc 指令的 C 等价物。

rlwinm    r31, r0, 0,13,13

谢谢。

循环左寄存器立即数,然后and带掩码。

这里左旋为0,可以忽略。掩码是从 13 到 13 的所有位集,也就是第 13 位(0x2000 作为位掩码;这个命令可能是在 and 上选择的,以记录第 13 位被选中)。

所以在这种情况下,我们需要为第 13 位构建一个掩码,然后按位 and 应用源。

r31 = r0 & (1 << 13);

<<是C语言中的左移操作,我们在这里用它来为第13位创建一个掩码。&是C语言中的与操作。

文档来源:http://sametwice.com/rlwinm