Вы можете написать их как очевидную комбинацию обычных сдвигов:
x rol N == x << N | x >> width-N
x ror N == x >> N | x << width-N
, где width
- количество бит в числе, которое вы вращаете.
Интеллектуальный компилятор может (я думаю, что это будетбыть) обнаружить эту комбинацию и скомпилировать в инструкцию поворота.
Обратите внимание, что она работает для беззнаковых и, если ширина равна числу битов в машинном слове, с которым вы работаете (16 для беззнакового целого в dsPIC).