Hello all, I have just updated from c166 v5.00 to v5.05 but the generated assembler code differs and the program is running errorious. I'm using an XC161CJ. the instruction: #define CC1_IOC_STAG ((T_Reg16 *) 0xF062)->bit2 // from Keil main.h CC1_IOC_STAG = 1; v5.00 generates: 00B8 D7400300 EXTP #03H,#01H 00BC F2F46230 MOV R4,03062H 00C0 7844 OR R4,#04H 00C2 D7500300 EXTP #03H,#01H 00C6 F6F46230 MOV 03062H,R4 works fine in the emulator and the real hardware v5.05 (v6.02) generates: 00AA D190 EXTR #01H 00AC 2F31 BSET __Bit?F062?02 doesn't work on emulator and real target hardware. the emulator shows: D190 EXTR #1 2F31 BSET 0FD62H.2 Anyone an Idea ? The adress 0xF062 in v5.05 is correct but the XC161CJ is obviously executing something else. I can't get whats the reason. any suggestions ? best regards, marcus
That was the mistake, took me a while. Thx for your reply.