1

プログラムの実行中にセグメント レジスタを変更できますか? アセンブリでそれらを変更することは可能だと確信していますが、c または c++ で記述してコンパイルし、いくつかのインラインasm命令がある場合、SSレジスタと他のセグメント レジスタは変更されないままであると期待できますか?

4

1 に答える 1

2

典型的な 32 ビットまたは 64 ビットのオペレーティング システムを使用している場合は、セグメント レジスタをほとんど無視できます (スレッド ローカル ストレージ、例外処理、またはシステム関連のものを扱う場合を除く)。CSDSESおよびSSすべてが同じメモリをアドレス指定し、変更されません。コンパイラもこれを想定しています。

于 2012-11-28T15:14:53.503 に答える