我正在使用 dsPIC33F 和 GCC。我想将一个单词中的位向左或向右旋转一次,如下所示:
MSB LSB
input: 0101 1101 0101 1101
right: 1010 1110 1010 1110
left : 1011 1010 1011 1010
(如果不清楚,LSB 移动到 MSB 的位置进行右旋转,反之亦然。)
我的处理器已经有一个右旋转(rrnc,rrc)和左旋转指令(rlnc,rlc),所以我希望编译器会优化它。如果没有,我可能不得不使用内联汇编。