coLinux槍隊
■ このスレッドは過去ログ倉庫に格納されています
罪滅ぼしになるかわかりませんがちょっと面白いと思ったものがあったので
それを1つ書いてみます.
arch\i386\interrupt.c に割り込みを実際に呼んでいると思しき関数 co_monitor_arch_real_hardware_interrupt では
ポインタ関数を利用してアセンブラコードを直接呼び出しているようなんです.
割り込みは 0 番から 255 番まで対応している?ようです.その 256 個分の配列は実際には
0xcd, 0x00, 0xfb, 0xc3, 0xcd, 0x01, 0xfb, 0xc3, 0xcd, 0x02, 0xfb, 0xc3, .....
~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~
↑ここは割り込み0番のコード ↑ここは割り込み1番のコード
という感じに初期化されるはずなんですが,これを直にガリガリと書くのではなくて,
#define マクロ 10個 くらいを入れ子にして定義したものを利用しているようなんです.
このアイディアは今後の自分のプログラミングにも取り入れていきたいと思うんですが,これって
結構常用されるテクニックなんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています