物理アドレスは、セグメントアドレス(16ビット)を左に4回シフトし、16ビットのオフセットアドレスを足すことで計算されることを知りました。8086 アーキテクチャのメモリは 1M です。私の質問は、セグメント レジスタとオフセット値の両方が FFFFH と FFFFH の場合、結果は FFFFH 以上、つまり 1M 以上になるということです。
FFFF0
+FFFF
----------
10FFEF
実際に計算してみたら…??
物理アドレスは、セグメントアドレス(16ビット)を左に4回シフトし、16ビットのオフセットアドレスを足すことで計算されることを知りました。8086 アーキテクチャのメモリは 1M です。私の質問は、セグメント レジスタとオフセット値の両方が FFFFH と FFFFH の場合、結果は FFFFH 以上、つまり 1M 以上になるということです。
実際に計算してみたら…??
剰余演算を行い、桁上げを削除します。したがって、FFFF のセグメントと FFFF のオフセットの場合、FFFF0 + FFFF = 10FFEF を計算しますが、最初の 1 を「削除」し、0FFEF の実際の答えを残します。
8086 アドレス バスは 20 ビット幅しかなく、0xFFFFF = 1,048,575 の最大上位アドレスを提供します。あなたが行ったのと同じ方法で計算されますが、メモリフェッチで使用されるのは下位 20 ビットのみです。