質問

私はWin32でSEHがどのように実装されているかを読んでいます、そして私はこのことに出会いました FSレジスタ. 。 Googleで何も良いものを見つけることができませんでした(おそらく間違ったことを探しているかもしれません)。だから誰かがそれが何であるかを説明できますか?

役に立ちましたか?

解決

セグメントレジスタです。 X86には6つの6つがあります:CS、DS、ES、SS、FS、およびGS(FSおよびGSは80386で新しくなりました)。ニーモニックは、コードセグメント、データセグメント、拡張セグメント(実際、補助レジスタ)、スタックセグメントなどの役割から来ています。これらの役割は、X86アセンブリの指示のセマンティクスでハードコーディングされています。 FSとGSはESのような補助的なので、Eの後に次の文字を担っているだけです

通常使用されている32ビット保護モード(Windows、Linux、 *BSDなど)では、CS、DS、ES、SSはすべて0のベースと4GIGの制限で設定され、メモリ保護はでのみ行われます。ページ許可。 FSは、ユーザーモードのスレッド情報ブロック(TIB)を指し、カーネルモードのプロセッサ制御領域(KPCR)を指します。マット・ピエトレックはかなり良いことを書いた 論文 それについて何年も前にそれはMSDNでまだ利用可能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top