unsigned char tp; unsigned char volatile pdata HOSTCFG2 _at_ 0x0020; // HOSTCFG2=0x40 at this point tp=HOSTCFG2 & 0x40; //!!! tp is 0x00 instead of 0x40 which is expected //Corresponding Disassembly: C:0x08F1 7820 MOV R0,#HOSTCFG2(0x20) C:0x08F3 E2 MOVX A,@R0 C:0x08F4 5440 ANL A,#HPWRSTATE(0x40) //Why it refers 0x40 as an address instead of a constant here? C:0x08F6 F508 MOV 0x08,A 189: if ((HOSTCFG2 & 0x40)==0x00)
View all questions in Keil forum