2009-04-07 3 views
1

私は学校で私のシニアプロジェクト用のコンパイラを開発しており、アセンブルにはAS(GNUアセンブラ)を使用しています。すべてのテストはかなり成功していますが、私が見た割り込みリストはテストコードと一致していないようです。i486-linux-gnu命令セットの割り込みリストはどこにありますか?

ASのこのバージョンに関連する情報:

GNUアセンブラ2.17のDebian GNU/Linuxの 著作権2005 Free Software Foundationが、株式会社 このプログラムはフリーソフトウェアです。 GNU一般公衆利用許諾契約書の条項の下で再配布することができます。このプログラムは絶対に保証はありません。 このアセンブラは `i486-linux-gnu 'のターゲット用に設定されました。

+0

なぜ割り込みを処理する必要がありますか?割り込みリストではなく、システムコールリストを意味しませんか? –

答えて

0

IMHO割り込みは、ハードウェアに固有のものです。 Linuxカーネルがターゲットとするハードウェアの割り込みをどのように扱うのかを見ることは教育的かもしれません。

2

LinuxはDOSと同じ方法でシステムコールに割り込みを使いません。アーキテクチャ依存のメソッドを使用してシステムコールを行います。システムコールはx86ではint 0x80になりますが、現代の(Pentium +)CPUではSYSENTER命令を使用する必要があります。他のソフトウェア割り込みは使用されません。

通常、アセンブリ言語であっても、おそらくこれをラップするCライブラリを使用する必要があるため、これは心配しないでください。

3

Linuxでは、80hの割り込みを使用します。その割り込みが対応するシステムコールはthis tableにあります。

関連する問題