Everything

.cseg


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

[指定形式]

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

[機能]

-

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

-

.cseg疑似命令以降に記述した命令は,再びセクション定義疑似命令が現れるまでコード・セクションに属します。

[用途]

-

.cseg疑似命令で定義するコード・セクションには,インストラクションや.db,.dw疑似命令等を記述します。

-

サブルーチンなどの1つの機能を持つ単位の記述は,1つのコード・セクションとして定義します。

[詳細説明]

-

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

-

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

表 5.8

.csegの再配置属性

再配置属性

説明

デフォルト・

セクション名

整列条件の

デフォルト値

TEXT

プログラムを配置します。

.text

2

PCTEXT

【V1.07.00以降】

位置独立のプログラムを配置します。

.pctext

2

ZCONST

定数データ用(読み出し専用)のセクションで,r0と16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(r0からプラス方向に最大32Kバイト)へ配置します。

.zconst

4

ZCONST23

定数データ用(読み出し専用)のセクションで,r0 と23 ビットのディスプレースメントを用いて1 命令で参照されるメモリ範囲(r0 からプラス方向に最大4M バイト)に配置します。

.zconst23

4

CONST

定数データ用(読み出し専用)のセクションで,r0 と32 ビットのディスプレースメントを用いて2 命令で参照されるメモリ範囲(r0 からプラス方向に最大4G バイト)に配置します。

.const

4

PCCONST16

【V1.07.00以降】

位置独立の定数データ用(読み出し専用)のセクションで,__pc_dataシンボルから16ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(__pc_dataから最大±32Kバイト)へ配置します。

.pcconst16

4

PCCONST23

【V1.07.00以降】

位置独立の定数データ用(読み出し専用)のセクションで,__pc_dataシンボルから23ビットのディスプレースメントを用いて1命令で参照されるメモリ範囲(__pc_dataから最大±4Mバイト)へ配置します。

.pcconst23

4

PCCONST32

【V1.07.00以降】

位置独立の定数データ用(読み出し専用)のセクションで,__pc_dataシンボルから32ビットのディスプレースメントを用いて2命令で参照されるメモリ範囲へ配置します。

.pcconst32

4

 

-

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

-

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

-

-picオプション指定時に,TEXTを指定した場合

-

-picオプションを指定せずに,PCTEXTを指定した場合

-

-pirodオプション指定時に,CONST,ZCONST,ZCONST23のいずれかを指定した場合

-

-pirodオプションを指定せずに,PCCONST16,PCCONST23,PCCONST32のいずれかを指定した場合

-

セクション定義疑似命令を記述していない場合の,命令やデータの配置先セクションは,-picオプションを指定していない場合は“.text”セクション,-picオプションを指定している場合は“.pctext”セクションです。

-

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

-

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

 

test        .cseg   text
            nop
            nop

 

-

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

-

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

-

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