unsigned char temp; //этот фрагмент программы работает "правильно" temp=0b00111111&((SA2._NetBIOS_en<<5)| (SA2._NetBIOS_en<<4)| (SA2._NetBIOS_en<<3)| (SA2._DHCP_en<<2)| (SA2._DHCP_en<<1)| (!SA2._MAC_dis<<0));
//этот фрагмент программы работает НЕ "правильно" //значение переменной temp зависит только от значения SA2._MAC_dis //при SA2._MAC_dis=0b0 temp=0x3f //при SA2._MAC_dis=0b1 temp=0x3e temp=0b00111111&((SA2._NetBIOS_en<<5)| (SA2._NetBIOS_en<<4)| (SA2._NetBIOS_en<<3)| (SA2._DHCP_en<<2)| (SA2._DHCP_en<<1)| (~SA2._MAC_dis<<0));