Everything

.DSEG


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

[指定形式]

シンボル欄
ニモニック欄
オペランド欄
コメント欄
[セクション名]
.DSEG
[再配置属性]
[; コメント]

[機能]

-

.DSEG疑似命令は,アセンブラにデータ・セクションの開始を指示します。

-

.DSEG疑似命令以降,再びセクション定義疑似命令が現れるまで,データ・セクションに属します。

[詳細説明]

-

プログラム中でデータ定義を行う部分を.DSEG疑似命令により定義します。
本疑似命令は,次にセクション定義疑似命令が記述されるまで有効です。

-

.DSEG疑似命令は,オペランド欄にDATA_AT,BSS_ATを指定することにより開始アドレスを指定することができます。
また,.ORG疑似命令により開始アドレスを指定することもできます。
このときのセクション名は,指定されたセクション名+“_AT”+指定アドレス(ただし,prefix(0x,0X)およびsuffix(h,H)が付かない大文字の16進表記)となります。

-

次に,.DSEGの指定可能な再配置属性を示します。

表 5.17

.DSEGの再配置属性

再配置属性

記述形式

デフォルトのセクション名

説明

整列条件のデフォルト値注1

SDATA

SDATA

.sdata

初期値を持つデータ用のセクションをsaddr領域注2内で先頭が偶数番地になるように配置します。

2

SBSS

SBSS

.sbss

初期値を持たないデータ用のセクションをsaddr領域注2内で先頭が偶数番地になるように配置します。

2

DATA

DATA

.data

初期値を持つデータ用のセクションをRAM領域注2内の0xF0000~0xFFFFF番地内に,先頭が偶数番地になるように,64KB - 1境界注3にまたがらないように配置します。

2

BSS

BSS

.bss

初期値を持たないデータ用のセクションをRAM領域注2内の0xF0000~0xFFFFF番地内に,先頭が偶数番地になるように,64KB - 1境界注3にまたがらないように配置します。

2

DATAF

DATAF

.dataf

初期値を持つデータ用のセクションを先頭が偶数番地になるように,64KB - 1境界注3にまたがらないように配置します。

2

BSSF

BSSF

.bssf

初期値を持たないデータ用のセクションを先頭が偶数番地になるように,64KB - 1境界注3にまたがらないように配置します。

2

DATA_AT△アドレス

DATA_AT 絶対式注4

なし

初期値を持つデータ用のセクションを指定番地に配置します。

1(固定)

BSS_AT△アドレス

BSS_AT 絶対式注4

なし

初期値を持たないデータ用のセクションを指定番地に配置します。

1(固定)

注 1.

整列条件は.ALIGN疑似命令にて変更することができます。

注 2.

コード・フラッシュ領域,ミラー領域,RAM領域,saddr領域についてはデバイスのユーザーズ・マニュアルを参照してください。ただし,RAM領域については,アドレス範囲が0xF0000~0xFFFFFである内部RAMのみサポートします。

注 3.

配置の境界制限について,デフォルトの設定を64KB - 1境界とします。

注 4.

絶対式として不正な記述をした場合,または0x00000~0xFFFFFの範囲を越える場合はエラーとなります。

 

-

初期値を持たないデータ用のセクション定義中に,初期値を指定する疑似命令は記述できません。記述した場合はエラーとなります。

-

セクション名の指定がないセクション定義には,アセンブラが再配置属性ごとにデフォルトのセクション名を与えます。
次に,付与されるセクション名を示します。

再配置属性

セクション名

SDATA

.sdata

SBSS

.sbss

DATA

.data

BSS

.bss

DATAF

.dataf

BSSF

.bssf

DATA_AT△アドレス

.data_AT 開始アドレス

BSS_AT△アドレス

.bss_AT 開始アドレス

 

上記のセクション名は上記の再配置属性を持つものとし,別の再配置属性を指定することはできません。

 

-

再配置属性の指定がないセクション定義は,再配置属性“DATA”となります。

-

セクション名に指定可能な文字は下記です。

-

英数字(0~9, a~z,A~Z)

-

英字相当文字(@, _,.)

[使用例]

DATA属性のセクション“.data”を定義

.data   .DSEG   DATA
        .DS     4

 

SDATA属性のセクション“_S”を定義

_S      .DSEG   SDATA
        .DS     4

 

DATA_AT属性のセクション“EX”を0xff000番地指定で定義

セクション名は“EX_ATFF000”となります。

EX      .DSEG   DATA_AT 0xff000
        .DS     2