.dseg


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

[指定形式]

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

[機能]

-

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

-

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

[用途]

-

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

[詳細説明]

-

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

-

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

表 5.9

.dsegの再配置属性

再配置属性

説明

デフォルト・

セクション名

整列条件の

デフォルト値

SDATA

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

.sdata

4

SBSS

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

.sbss

4

SDATA23

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

.sdata23

4

SBSS23

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

.sbss23

4

SDATA32

【V1.07.00以降】

初期値を持ち,gpと32ビットのディスプレースメントを用いて2命令で参照されるメモリ範囲に配置します。

.sdata32

4

SBSS32

【V1.07.00以降】

初期値を持たず,gpと32ビットのディスプレースメントを用いて2命令で参照されるメモリ範囲に配置します。

.sbss32

4

TDATA

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

.tdata

4

TDATA4

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

.tdata4

4

TBSS4

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

.tbss4

4

TDATA5

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

.tdata5

4

TBSS5

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

.tbss5

4

TDATA7

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

.tdata7

4

TBSS7

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

.tbss7

4

TDATA8

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

.tdata8

4

TBSS8

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

.tbss8

4

EDATA

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

.edata

4

EBSS

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

.ebss

4

EDATA23

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

.edata23

4

EBSS23

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

.ebss23

4

EDATA32

【V1.07.00以降】

初期値を持ち,epと32ビットのディスプレースメントを用いて2命令で参照されるメモリ範囲に配置します。

.edata32

4

EBSS32

【V1.07.00以降】

初期値を持たず,epと32ビットのディスプレースメントを用いて2命令で参照されるメモリ範囲に配置します。

.ebss32

4

ZDATA

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

.zdata

4

ZBSS

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

.zbss

4

ZDATA23

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

.zdata23

4

ZBSS23

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

.zbss23

4

DATA

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

.data

4

BSS

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

.bss

4

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

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

-

次の場合はエラーとします。

-

表 5.9 .dsegの再配置属性」以外の再配置属性を指定した場合

-

再配置属性に“BSS”の付くセクション中に,機械語命令やデータ定義疑似命令を記述した場合

-

-pidオプションを指定せずに,SDATA32,SBSS32,EDATA32,EBSS32のいずれかを指定した場合

-

-pidオプション指定時に,DATA,BSS,ZDATA,ZBSS,ZDATA23,ZBSS23のいずれかを指定した場合

-

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

-

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

 

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

 

-

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

-

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

-

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