割込みプログラムをCで書いてみました。
割込みサービスルーチンをベクタで示される特定アドレスに配置することはCではできないのでリンカに対して指示を与えることになります。
コンパイラのマニュアルを読んで見ると、なるほどこういう指定がちゃんとありますね、と
ところがこのプラグマを挿入しても思うように関数の配置ができず、かといってエラーも起きず全く無視されてしまいます。
何をやってもダメで悩んだ挙句少し版の古いマニュアルをみてみると・・・・
えーっ? プラグマによるセクション指示は途中から拡張された機能のようです。
しかたがないのでインラインアセンブラ文で無理やり関数の前にSECTION指示を挿入。
アセンブラの第1カラムはラベルか空白かコメントの「*」じゃないとダメで、タブを入れ忘れるとラベル2重定義エラーとか怒られてしまいます。