インテル64®およびIA-32アーキテクチャーソフトウェア開発者マニュアルのセクション4.3 。ボリューム1:基本的なアーキテクチャ、それは言う:
ニアポインタは、セグメント内の32ビットオフセットです。ニアポインタは、フラットメモリモデルのすべてのメモリ参照、またはアクセスされているセグメントのIDが暗黙指定されているセグメント化モデルの参照に使用されます。
これは私に疑問を投げかけます:暗黙のセグメントレジスタはどのように決定されますか?
(%eip)
置き換えられた(%eip)
(たとえば-4(%eip)
)アドレス%cs
がデフォルトで使用され(%esp)
、置き換えられた(%esp)
アドレスが使用することは知っていますが、、、などは%ss
どうでしょうか。暗黙のセグメントレジスタは、メモリアドレスオペランドが含まれる命令にも依存できますか?(%eax)
(%edx)
(%edi)
(%ebp)