Como leer los tres primeros bits de un puerto usando XC8

#1
Buenas tardes a todos. Estoy aprendiendo a programar pics usando el XC8 pero me he topado con el siguiente inconveniente: como leer los datos introducidos con un dip switch conectado en las tres primeras lineas de un puerto por ejemplo el puerto A. Usando assembler seria algo asi:

MOVF PORTA,W
ANDLW B\'00000111\'

Usando esa mascara me quedo con los tres primeros bits del puerto A. Ahora como podria hacer lo mismo usando XC8? Muchisimas gracias de antemano por la ayuda que me puedan ofrecer. ...
 
#2
La cabecera de los PIC me es incomoda pero prueba directamente variable = PORTA&0x07 yo lo escribo en hexadecimal por que el binario no es estandarizado así que evito usarlo en medida de lo posible por compatibilidad
 
#3
si como dice nuyel

char variable;

igualas la variable con la mascara AND &
variable = PORTA &0b00000111 ;

o simplemente lees todo el puerto

variable = PORTA;
 
#4
Gracias muchachos por sus respuestas lo probe y funciono como queria. De paso me dio oportunidad para conocer los bitwise operators. Gracias de nuevo...
 
Arriba