Para correr (shift) un bit a la derecha o izquierda utilizas los operadores de corrimiento de C: << y >>.
// Corrimiento (shift) de 1 bit a la derecha
resultado = variable >> 1;
Yo recién estoy utilizando estos microcontroladores, estoy usando un HC08 QY4, por ahora lo que supongo habría que hacer es realizar el corrimiento y checar si hay un acarreo en el registro de control (me parece que es el CCR) para así armar la rotación, aunque no he visto si dicho registro ya está definido en CodeWarrior o si hay que buscar su dirección.
Edit:
--------------------------
Jaja, ahorita le eché un vistazo rápido a un documento de Freescale y me entero que hay 5 registros no se encuentran en el mapa de memoria, entre ellos el CCR. Así que para rotación por lo pronto sólo se me ocurre mejor utilizar ensamblador
(repito, recién estoy utilizando este microcontrolador, a ver si alguien más nos aclara
).
Saludos,
JJ (Geo).