vouvoume wrote:Nothing weired at all.
Please do not worry.
Even Atmega328p supports the jmp opcode, the compiler decided not to use it.
(Perhaps it uses 32Bit opcode instead of just 2byte like rjmp. Since the jump-destination is within the reach of rjmp, why not use it.)
(Perhaps it preferrs to use 16Bit rjmp opcode instead of 4byte jmp. Since the jump-destination is within the reach of rjmp, why not use it.)
vouvoume wrote:And of course the interrupt table of ATmega8 looks different compared to ATmega328p.
First of all ATmega328p has more interrupt sources and therefore its table is longer. And second, since ATmega8 has a huger flash memory,
And second, since ATmega328p has a huger flash memory,
vouvoume wrote:not every address can be jumped to via rjmp (only 8kib window). This is why "jmp" opcode is introduced. but since jmp is 32Bit opcode, every interrupt table entry need to be 32bit, too. (Atmega8 only needs 16bit, because every flash address can be jumped via 16bit rjmp).
I hope I could clearify thing to you,