The data sheet says:
Each interrupt vector occupies two instruction words in Atmel ATmega328P.
Each word is 16 bites:
Most AVR® instructions have a single 16-bit word format.
So each vector should occupy 4 bytes, however the vector table on the same data sheet shows each program address offset is only 2 bytes ?
Using `avr-objdump` also shows 4 byte offsets for each vector:
Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end> 4: 0c 94 40 00 jmp 0x80 ; 0x80 <__vector_1> 8: 0c 94 3e 00 jmp 0x7c ; 0x7c <__bad_interrupt>
So I'm not sure why the table in data sheet is showing 2 byte offsets instead of 4?