64ビットモードでのアドレス計算に関するインテルのマニュアルを読みました。64 ビット モードの場合、デフォルトのアドレス サイズは 64 ビットです。問題の命令の前にアドレス サイズ オーバーライド プレフィックスがあると仮定すると、アドレス サイズは 32 ビットになります。
ここで、レジスタ番号 0 (rax/eax/ax ...) で指定されたアドレスを使用して、命令がメモリ オペランドをエンコードするとします。
CPUがeax値のみを見て内部的にゼロ拡張して「ネイティブ」64ビットアドレスを形成するのか、rax値全体を見て有効な32ビット範囲に切り捨てるのか、私が完全には理解していないこと(たとえば、raxには5Gbのようなものが含まれており、CPUはそれを最大32ビットアドレスにカットします)。