Como girar os bits em uma palavra
Estou usando um dsPIC33F e GCC. Eu quero girar os bits em uma palavra uma vez esquerda ou direita, assim:
MSB LSB
input: 0101 1101 0101 1101
right: 1010 1110 1010 1110
left : 1011 1010 1011 1010
(Caso não esteja claro, o LSB se move para a posição do MSB para a rotação à direita e vice-versa.)
Meu processador já possui uma instrução girar para a direita (rrnc, rrc) e girar para a esquerda (rlnc, rlc), por isso espero que o compilador otimize isso. Caso contrário, talvez seja necessário usar o assembly em linha.