		else if(flag) {	// receive LLLLHHHH
			low = (a&0xF0) >> 4;	// low = LLLLLLLL <- replace with low |= (a&0xF0) >> 4;
//...
			high |= a&0x0F;	// high: 0000HHHH <- replace with high = a&0x0F;