- program memory は word 単位で命令ができている。
- CPU の program memory の data bus 幅は 16 bit のようだ...
- avr 自体の program memory は 16bit 幅で記載している
- gcc のリンカはアドレスを 8bit 幅で出す
つまり、 gcc で出すダンプのアドレスが 0x2000 だった場合、 avr では 0x1000 になる。から、アセンブラだとこうなるかな。
org 0x2000 hogehoge: ret 08 95 call hogehoge 0e 94 00 10
ここらへんが誤認の要素っぽい。データシートに書いてくれるとよかったのに!