32 ビット Linux システム コールに関して 2 つの簡単な質問があります。
x86 Linux では、システム コールを呼び出す方法が 2 つあります。
1 つは int 0x80 を使用しており、もう 1 つは sysenter を使用しています。
これら2つの基本的な概念の違いを知っています(sysenterはSYSENTER_MSR_EIP、SYSENTER_MSR_ESPレジスタを使用し、int 0x80は割り込みテーブルを使用し、sysenterはより優れたパフォーマンスを提供します...)
私の質問は...
プログラマーの観点から、int 0x80 と sysenter の間に機能上の違いはありますか? (つまり、呼び出し規約、メモリ レイアウトへの副作用、または何でも...)
システムコールから復帰後、EAXレジスタ以外に変化するシステムコールはありますか?
前もって感謝します。