It is probably something stupid.
IER <16-bit unsigned> 0x2000 Register IER
IFR <16-bit unsigned> 0x2000 Register IFR
SystemTimer void (*)() 0x009AFF
(*((*(halHandle)).pieHandle)).INT14 void (*)() 0x00009AFF 0x00000D1C@Data
After the following instruction:
asm(" clrc INTM");
IER <16-bit unsigned> 0x0000 Register IER
IFR <16-bit unsigned> 0x0000 Register IFR
I end up at memory location: "0x3ff599" and not at 0x009AFF
So what I'm I missing?
edit:
I can reduce the problem to this:
IER = 0x2000
asm(" clrc INTM");
other interrupt (IER = 0x020) ends up at the address.
edit2:
It seems it is in the memory range of the bootrom. How is that possible?