3

割り込みが発生すると、すべての汎用レジスタがスタックにプッシュされることはわかっていますが、フラグ レジスタが保存されているコードを確認できません。setl のようなフラグ レジスタに依存するアセンブリ命令は、フラグ レジスタが壊れていると、割り込みからの復帰時に間違った結果を出しやすいです。

4

1 に答える 1

4

はい、その(e/r)flagsようなコンテキストスイッチ全体でレジスタを保存する必要があります。

すべての割り込み (例外を含むハードウェアとソフトウェア) は、それを自動的にスタックに保存しiret、ISR の最後の命令がそれを復元します。

システム コールは、同じまたは類似のメカニズムを使用し、レジスタを保存します。

スケジューリングは、割り込みまたはシステム コールによってトリガーされます。だから、すべてがカバーされています。

于 2012-07-10T10:03:58.587 に答える