I have a struture which is correctly allocated at address 0x4000 (read from the M66 file). The DPP0 is used by Keil to point to the NDATA memory chunk: DPP0 = 1 so the pointer to my struture, when stored in a register is 0x0000!!!! Unfortunately, I check if this value is different from a NULL pointer. The generated assembly code is: CMP R15 #0 JMPR CC_Z, ..... where R15=0, which is the right value to point to 0x4000 with DPP0=1 and MUST not be interpreted as a NULL pointer! Is it a bug?? The memory configuration is 0->0x3999 of ROM 0x4000 -> 0x24000 RAM Near memory model: 32k RAM, 16K ROM
"Well as pointed out this is one of the corner cases." So there are more? It would be nice to know what they are so you can watch out for them. Sauli