.dseg


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

[指定形式]

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

[機能]

-

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

-

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

[用途]

-

.dseg疑似命令で定義するデータ・セクションには,主に.ds疑似命令を記述します。

[詳細説明]

-

データ・セクションの開始アドレスは,.org疑似命令により指定できます。

-

再配置属性とは,データ・セクションの配置アドレスの範囲を限定するものです。
次に,.dsegの再配置属性を示します。

表 5.9

.dsegの再配置属性

再配置属性

記述形式

説明

整列条件の

デフォルト値

SDATA

SDATA

初期値を持ち,gpと16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(SBSSセクションとあわせて最大64Kバイト)に配置します。

4

SBSS

SBSS

初期値を持たず,gpと16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(SDATAセクションとあわせて最大64Kバイト)に配置します。

4

SDATA23

SDATA23

初期値を持ち,gpと23ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(SBSS23セクションとあわせて最大8Mバイト)に配置します。

4

SBSS23

SBSS23

初期値を持たず,gpと23ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(SDATA23セクションとあわせて最大8MKバイト)に配置します。

4

TDATA

TDATA

初期値を持ち,epを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大256バイト)に配置します。

4

TDATA4

TDATA4

初期値を持ち,epと4ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大16バイト)に配置します。

4

TBSS4

TBSS4

初期値を持たず,epと4ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大16バイト)に配置します。

4

TDATA5

TDATA5

初期値を持ち,epと5ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大32バイト)に配置します。

4

TBSS5

TBSS5

初期値を持たず,epと5ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大32バイト)に配置します。

4

TDATA7

TDATA7

初期値を持ち,epと7ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大128バイト)に配置します。

4

TBSS7

TBSS7

初期値を持たず,epと7ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大128バイト)に配置します。

4

TDATA8

TDATA8

初期値を持ち,epと8ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大256バイト)に配置します。

4

TBSS8

TBSS8

初期値を持たず,epと8ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(epからプラス方向に最大256バイト)に配置します。

4

EDATA

EDATA

初期値を持ち,epと16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(EBSSセクションとあわせて最大64Kバイト)に配置します。

4

EBSS

EBSS

初期値を持たず,epと16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(EDATAセクションとあわせて最大64Kバイト)に配置します。

4

EDATA23

EDATA23

初期値を持ち,epと23ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(EBSS23セクションとあわせて最大8Mバイト)に配置します。

4

EBSS23

EBSS23

初期値を持たず,epと23ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(EDATA23セクションとあわせて最大8Mバイト)に配置します。

4

ZDATA

ZDATA

初期値を持ち,r0 と16 ビットのディスプレースメントを用いて1 命令で参照されるメモリ範囲(r0 からマイナス方向にZBSSセクションとあわせて最大32K バイト)に配置します。

4

ZBSS

ZBSS

初期値を持たず,r0 と16 ビットのディスプレースメントを用いて1 命令で参照されるメモリ範囲(r0 からマイナス方向にZDATAセクションとあわせて最大32K バイト)に配置します。

4

ZDATA23

ZDATA23

初期値を持ち,r0 と23 ビットのディスプレースメントを用いて1 命令で参照されるメモリ範囲(r0 からマイナス方向にZBSS23セクションとあわせて最大4M バイト)に配置します。

4

ZBSS23

ZBSS23

初期値を持たず,r0 と23 ビットのディスプレースメントを用いて1 命令で参照されるメモリ範囲(r0 からマイナス方向にZDATA23セクションとあわせて最大4M バイト)に配置します。

4

DATA

DATA

初期値を持ち,r0 と2 命令で参照されるメモリ範囲(r0 からマイナス方向にBSSセクションとあわせて最大4G バイト)に配置します。

4

BSS

BSS

初期値を持たず,r0 と2 命令で参照されるメモリ範囲(r0 からマイナス方向にDATAセクションとあわせて最大4G バイト)に配置します。

4

TDATA再配置属性のセクションを複数のソース・プログラムに定義した場合,リンク時にエラーになります。

 

-

表 5.9 .dsegの再配置属性」以外の再配置属性を指定した場合は,アセンブラはエラーを出力します。

-

再配置属性に“BSS”の付くデータ・セクション中に機械語命令は記述できません。記述した場合はエラーとなります。

-

.dseg疑似命令のシンボル欄にセクション名を記述することにより,そのデータ・セクションにシンボル(名前)を付けることができます。セクション名が省略されたデータ・セクションには,アセンブラが自動的にデフォルトのセクション名を与えます。
次に,.dsegのデフォルト・セクション名を示します。

再配置属性

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

SDATA

.sdata

SBSS

.sbss

SDATA23

.sdata23

SBSS23

.sbss23

TDATA

.tdata

TDATA4

.tdata4

TBSS4

.tbss4

TDATA5

.tdata5

TBSS5

.tbss5

TDATA7

.tdata7

TBSS7

.tbss7

TDATA8

.tdata8

TBSS8

.tbss8

EDATA

.edata

EBSS

.ebss

EDATA23

.edata23

EBSS23

.ebss23

ZDATA

.zdata

ZBSS

.zbss

ZDATA23

.zdata23

ZBSS23

.zbss23

DATA

.data

BSS

.bss

TDATA再配置属性に指定可能なセクション名は,デフォルト・セクション名のみです。ただし,省略は可能です。

 

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

 

test        .dseg   data
            .dw     0x1234
            .dw     0x5678

 

-

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

-

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

-

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