Cómo hacer un desplazamiento de bits

hola saludo a todos
tengo un inconveniente y es que me estoy iniciando en la programacion de pics en lenguaje c
necesito hacer que por el puerto b de un pic 16f84a salga el dato del puerto a dezplazado un bit hacia la izquierda,y por la derecha entrara un 1 ej:
si por el puerto a se introduce el dato ---11001 por el puerto b debe salir xx110011
e intentado hacerlo de muchas maneras pero al simualr en isis no resulta les agradezco si me adjuntan la programacion de este ejercicio y muy bien explicado cada linea muchas gracias :)
estoy usando el compilador c ccs
 
Intenta algo asi:

PHP:
void main() {

   unsigned int8 data = 0;
   
   set_tris_A(0b11111);
   set_tris_B(0b00000000);
   
   while(TRUE){
      data = input_a();          // 
      data <<= 1;                // desplazamiento a la izqierda
      data |= 1;                 // incluye "1" a la derecha
      output_b(data);            // 
   }

}

Saludos
 
muchas gracias carferper funciono y con respecto a lo que dice aguevara
estuve leyendo sobre eso pero no se usar muy bien esas funciones si puedes crear el programa con estas instrucciones seria de mucha ayuda no esta demas aprender de diferentes formas :D
 
Atrás
Arriba