dsPIC33F と GCC を使用しています。次のように、単語内のビットを左または右に 1 回回転させたい:
MSB LSB
input: 0101 1101 0101 1101
right: 1010 1110 1010 1110
left : 1011 1010 1011 1010
(明確でない場合、LSB は右回転の MSB の位置に移動し、その逆も同様です。)
私のプロセッサにはすでに右回転 (rrnc、rrc) 命令と左回転命令 (rlnc、rlc) があるので、コンパイラがこれを最適化してくれることを期待しています。そうでない場合は、インライン アセンブリを使用する必要があるかもしれません。