ホームページ  >  記事  >  セグメントレジスタの種類と機能は何ですか?

セグメントレジスタの種類と機能は何ですか?

青灯夜游
青灯夜游オリジナル
2021-01-22 16:35:2113568ブラウズ

セグメント レジスタの種類と機能: 1. コード セグメント レジスタ CS は、現在実行中のプログラム コードのセグメントを格納するために使用されます。 2. データセグメントレジスタ DS。データセグメントを格納するために使用されます。 3. スタックセグメントレジスタ SS はスタックセグメントを格納します。追加セグメントレジスタESは、現在のプログラムによって使用される追加データセグメントを格納する。

セグメントレジスタの種類と機能は何ですか?

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

セグメントレジスタはメモリをセグメント管理するために設定されます。コンピューターは、メモリをセグメント化してさまざまなプログラムに割り当てる必要があります (ハードディスクのページングと同様)。メモリのセグメンテーションを記述する場合、1. セグメントのサイズ、2. セグメントの開始アドレス、3. セグメントの管理属性(書き込み禁止/実行禁止/システムエクスクルーシブなど)のセグメント情報が必要です。この情報を格納するには8バイト(64ビット)を使用する必要がありますが、セグメントレジスタには16ビットしかないため、セグメント番号(セグメントセレクタ、「セグメントセレクタ」とも訳されます)のみをセグメントレジスタに格納できます。次に、セグメント番号がメモリ内の存在する GDT (グローバル (セグメント) 記述子テーブル、グローバル セグメント番号レコード テーブル) にマッピングされ、セグメント情報が読み取られます。

セグメント レジスタ: 8086 システムでは、メモリにアクセスするためのアドレス コードは、セグメント アドレスとセグメント内のオフセット アドレスの 2 つの部分で構成されます。セグメント レジスタは、各セグメントの論理ベース値を格納するために使用され、コード セグメント レジスタ CS、スタック セグメント レジスタ SS、データ セグメント レジスタ DS、および追加セグメント データ レジスタ ES を含む、現在使用されている 4 つの論理セグメントを示します。

種類と機能:

1. コードセグメントレジスタ CS (コードセグメント)

現在実行中のプログラムが存在するセグメントのセグメントベースを格納します。 code は位置アドレスで、現在使用されている命令コードがセグメント レジスタで指定されたメモリ セグメントから取得できることを示し、対応するオフセットが IP によって提供されます。

2. データセグメントレジスタ DS (Data Segment)

は、現在のプログラムで使用されるデータが格納されているセグメントの最下位アドレス、つまり、データが格納されているセグメントのベースアドレスを示します。データセグメントが保存されます。

3. スタックセグメントレジスタ SS (Stack Segment)

は、現在のスタックの最下位アドレス、つまりスタックセグメントが格納されているセグメントベースアドレスを示します。

4. 追加セグメント レジスタ ES (エクストラ セグメント)

は、現在のプログラムで使用される追加データ セグメントのセグメント ベース アドレスを示します。このセグメントは、文字列内の宛先文字列が配置されるセグメントです。操作説明書が置かれています。

さらに関連記事を読みたい場合は、PHP 中国語 Web サイト にアクセスしてください。 !

以上がセグメントレジスタの種類と機能は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。