Mi consulta es la siguiente cuando efectuo corrimiento en una variable y llego al bit mas significativo en el siguiente corimiento el bit se pierde, alguien me podria explicar porque sucede esto, la viariable es de 8 bits sin signo.
La otra consulta es como puedo reemplazar la instruccion SWAPF para intercambio de nibles en XC8
Bunos dias
gracias por la ayuda y las aclaraciones, una inquietud mas para los registros del pic entendi como se cambian los bits pero intente hacer lo mismo con una variable que yo cree y me da error de sintaxis, porque se presenta esto
Gracias por la ayuda
#define BIT0 (1U)
#define BIT1 (2U)
#define BIT2 (4U)
//o si te gusta más seguimos definiendo como
#define BIT3 (0b00001000)
#define BIT4 (0b00010000)
#define BIT5 (0b00100000)
//o si te gusta hacer como los que usan ARM:
#define BIT6 (1U<<6)
#define BIT7 (1U<<7)
unsigned int algo;
//Limpiar o poner a 0 el bit 3 de la variable algo (sin cambiar el resto de los bits):
algo &= ~BIT3;
//Setear o poner a 1 el bit 5 de la variable algo:
algo |= BIT5;
//Cambiar/negar/toggle el bit 1 de la variable algo:
algo ^= BIT1;
//Setear/limpiar/togglear varios bits a la vez:
algo |= (BIT0 | BIT2 | BIT4); //pongo a 1 bits 0,2,4
algo &= ~(BIT1 | BIT3); //pongo a 0 bits 1 y 3
algo ^= (BIT5 | BIT6); //niego bits 5 y 6