因此,我终于说服自己尝试并学习/使用PowerPC(PPC)。
一切进展顺利,大多数信息都在网上找到。
但是,在查看一些示例时,我遇到了这个问题:

rlwinm    r3, r3, 0,1,1

我将如何在C语言中执行此操作?
我尝试做一些研究,但找不到任何可以帮助我的事情。
提前致谢!

最佳答案

rlwinm代表“立即旋转左单词,然后使用Mask进行aNd,其正确用法是

rlwinm  RA, RS, SH, MB, ME

按照description page:







因此,在您的示例中,源和目标是相同的。移位量为0,因此没有移位。以及MB=ME=1,因此适用第一种情况,即掩码从1:MSB=0编号时,其掩码变为全零且位数为1成为0x40000000

在C语言中,我们可以简单地编写它
a &= 0x40000000;

假设a是32位变量。

09-28 11:37