Everything

.ORG


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

[指定形式]

シンボル欄
ニモニック欄
オペランド欄
コメント欄
 
.ORG
絶対式 
[; コメント]

[機能]

-

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

[詳細説明]

-

.ORG疑似命令を記述した行以降,再びセクション定義疑似命令が現れるまで,絶対アドレス形式セクションとします。

-

絶対アドレス形式セクションのセクション名は,“.ORG疑似命令を記述したセクション名(ただし,絶対アドレス形式セクションであれば“_AT”以降は含まない)”+“_AT”+“指定アドレス(ただし,prefix(0x,0X)およびsuffix(h,H)が付かない大文字の16 進表記)”となり,再配置属性は.ORG疑似命令を記述したセクションの属性になります。

-

ソース・プログラムの先頭でセクション定義疑似命令が出現する前に,.ORG疑似命令が記述された場合は,セクション名は“.text.AT”+“指定アドレス”,再配置属性は“TEXT”となります。

-

オペランドの値は「(a) 絶対式」に従います。絶対式として不正な記述をした場合,または0x00000~0xFFFFFの範囲を越える場合はエラーとなります。

-

1つのセクション定義中に,複数回記述できます。ただし,.ORG疑似命令で指定したセクション名のセクション定義がすでに存在する場合,および本疑似命令で指定したセクションのアドレスが同一モジュール内のほかの絶対アドレス形式セクションの配置範囲内である場合はエラーとなります。

[使用例]

セクション定義疑似命令の直後に.ORG疑似命令を記述した場合は,絶対アドレス形式セクションのみ生成します。

        .SECTION    My_text, text
        .ORG        0x12                ;My_text.AT12を0x12に配置する
LAB1:   MOV         A, !LABEL
        .ORG        0x30                ;My_text.AT30を0x30に配置する
        MOV         A,!LABEL

 

記述が直後でない場合は,.ORG疑似命令の記述行以降を絶対アドレス形式セクションとして生成します。

.SECTION    My_text, text
NOP                                     ;My_textに配置する
.ORG        0x50
MOV         A,!LABEL                    ;My_text_AT50に配置する

 

絶対アドレス形式セクションに.ORGを記述した場合はそのセクション名の“_AT”より前の部分に新たに“_AT”+指定アドレスを付加したセクション名となります。

.SECTION        My_text, AT     0x20
NOP                                     ;My_text_AT20に配置する
.ORG            0x50
MOV             A,!LABEL                ;My_text_AT50に配置する