#define bitset(var,bitno) (var|=1<<bitno);
#define bitclr(var,bitno) (var&=~(1<<bitno));
unsigned char bitchk(unsigned char var,char bitno){
unsigned char tmp;
tmp = var & (1<<bitno);
return tmp;
}
while(1){
while(bitchk(swflags,swSet)) // while "set" mode
if(bitchk(swflags,swUp)) // if "up" switch press
{
bitclr(swflags,swUp); // clear switch flag bit
incvalue(); // bump value
}
if(bitchk(swflags,swDn)) // if "dn" switch press
{
bitclr(swflags,swDn); // clear switch flag bit
decvalue(); // bump value
}
}