Everything
5.2.2 セクション定義疑似命令

セクション定義疑似命令は,セクションの開始,および終了を指示するための疑似命令です。

セクションは,最適化リンカにおける配置単位です。

.SECTION    SecA, TEXT
    :
.SECTION    SecB, DATA
    :
.SECTION    SecC, BSS
    :

 

再配置属性SBSSとSBSS_BITのセクション同士は,同じセクション名であっても良いです。再配置属性BSSとBSS_BITのセクション同士は,同じセクション名であっても良いです。

その他の再配置属性に関しては,同じセクション名のセクション同士は,同一の再配置属性でなければなりません。したがって,再配置属性の異なる複数のセクションに,同一のセクション名を付けることはできません。同一のセクション名でありながら再配置属性が異なる場合はエラーとなります。また,再配置属性によってセクションに記述できる内容は異なります。詳細は「表 5.15 再配置属性」を参照してください。

 

セクションは分割記述を行うことができます。つまり,1つのソース・プログラム・ファイル内に記述した同一再配置属性,同一セクション名のセクションは,アセンブラ内部で連続したひとつのセクションとして処理を行います。

別々のモジュール(アセンブリ・ソース・ファイル)内に分割記述した場合は,最適化リンカが結合します。

 

セクションは開始アドレスを指定することが出来ます。開始アドレスが指定されたセクションはアブソリュート・セクションです。

 

セクション定義疑似命令には,次のものがあります。

表 5.14

セクション定義疑似命令

疑似命令

概要

.SECTION

アセンブラにセクションの開始を指示します

.CSEG

アセンブラにコード・セクションの開始を指示します

.DSEG

アセンブラにデータ・セクションの開始を指示します

.BSEG

アセンブラにビット・セクションの開始を指示します

.ORG

アセンブラに絶対アドレス形式セクションの開始を指示します

.OFFSET

セクション先頭からのオフセットを設定します