Revisa la sintaxis de tu compilador, probablemente te falta un BREAK para cada CASE, y resulta raro que no pongas un punto y coma al final de cada sentencia, es algo estandar en C.
En C de Microchip se escribiría:
switch (cmd)
{
case "a":
PORTBbits.RB0 = 0;
break;
case "b":
PORTBbits.RB1 = 1;
break;
default:
break;
}