メモリ アドレスの計算方法

コンピュータ メモリ アドレスは、コンピュータがデータを格納するときに使用する 16 進数または 2 進数のアドレスです。情報が保存されるときはいつでも、コンピューターは、セグメントとハード ドライブからのオフセット アドレスに基づいて、メモリ内のデータを保存する場所を計算する必要があります。これらのセグメント アドレスとオフセット アドレスからメモリ アドレスを計算するのは難しい場合があり、高度な計算と数学の知識が必要ですが、プログラマーがその方法を知ることは非常に重要です。
ステップ 1
16 ビットのセグメント アドレスとオフセット アドレスを取得し、それらをペアに分割します。たとえば、扱っている 2 つのアドレスが「0000:0100」の場合、コロンで半分に分割して 20 ビット セグメントとオフセット アドレスに変換し、20 ビット セグメントの「0000」になるようにします。アドレスと 20 ビット オフセット アドレスの「0100」。
ステップ 2
2 つの 20 ビット アドレスをバイナリ形式で加算して、メモリの 16 進数アドレスを取得します。アドレス「0000」と「0100」の場合、加算結果は16進数で「00100」となります。このアドレスは、メモリの 16 進数の物理アドレスです。
ステップ 3
16 進数の各桁を独自のバイナリ形式に分割して、16 進数の 20 ビット物理アドレスをバイナリ形式に変換します。 「00100」の例では、「0000」、「0000」、「0001」、「0000」、「0000」に分解して、最終的なバイナリ メモリ アドレスとして文字列「0000 0000 0001 0000 0000」を取得します。