Assembly-programming-assembly-memory-segments
提供:Dev Guides
アセンブリ-メモリセグメント
アセンブリプログラムの3つのセクションについては既に説明しました。 これらのセクションは、さまざまなメモリセグメントも表します。
興味深いことに、セクションキーワードをセグメントに置き換えると、同じ結果が得られます。 次のコードを試してください-
上記のコードをコンパイルして実行すると、次の結果が生成されます-
メモリセグメント
セグメントメモリモデルは、システムメモリを、セグメントレジスタにあるポインターによって参照される独立したセグメントのグループに分割します。 各セグメントは、特定のタイプのデータを含めるために使用されます。 1つのセグメントは命令コードを含むために使用され、別のセグメントはデータ要素を保存し、3番目のセグメントはプログラムスタックを保持します。
上記の議論に照らして、さまざまなメモリセグメントを次のように指定できます-
- データセグメント- .data セクションと .bss で表されます。 .dataセクションは、プログラムのデータ要素が保存されるメモリ領域を宣言するために使用されます。 このセクションは、データ要素が宣言された後は展開できず、プログラム全体で静的のままです。 + .bssセクションは、プログラムで後で宣言されるデータ用のバッファを含む静的メモリセクションでもあります。 このバッファメモリはゼロでいっぱいです。
- コードセグメント- .text セクションで表されます。 これは、命令コードを格納するメモリ内の領域を定義します。 これも固定領域です。
- スタック-このセグメントには、プログラム内の関数とプロシージャに渡されるデータ値が含まれます。