アセンブラがアドレス更新をする場合の指示を行う制御命令です。
絶対アドレス形式セクション内のアドレスを除いて、アセンブラが制御を行うアドレスはリロケータブル値となります。
本制御命令を記述したセクションのアドレスはアブソリュート値になります。
本制御命令を記述した直後の行から記述したニーモニックのコードが格納されるアドレスを決定します。
本制御命令の直後の行から記述した領域確保制御命令で、確保されるメモリのアドレスを決定します。
.BYTE "abcdefghijklmnopqrstuvwxyz"
.BYTE "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
以下の場合は.SECTIONの直後に.ORGが記述されていないため、エラーとなります。
.BYTE "abcdefghijklmnopqrstuvwxyz"
.BYTE "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
本制御命令は、必ずセクション制御命令の直後に記述してください。
".SECTION"を記述した直後の行に".ORG"の記述がない場合は、そのセクションは相対アドレス形式セクションとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
オペランドに記述できる値は、0〜0FFFFFFFFHの範囲の数値です。
オペランドには式、シンボルを記述できます。ただし、アセンブル時に確定する値でなければなりません。
本制御命令は、相対アドレス形式指定を行ったセクション内には記述できません。
絶対アドレス形式セクション内であれば複数回記述できます。ただし本制御命令記述行のアドレスよりも小さい値を指定した場合にはエラーとなります。
本制御命令は、記述した箇所に、アドレスを進めたバイト数だけ、0個以上の無効を意味するデータ(03H)を埋め込みます。
本制御命令を記述した直後の行から記述したニーモニックのコードが格納される、セクション先頭からのオフセットを決定します。
本制御命令の直後の行から記述した領域確保制御命令で確保されるメモリの、セクション先頭からのオフセットを決定します。
.BYTE "abcdefghijklmnopqrstuvwxyz"
.BYTE "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
以下の場合は.OFFSET記述行のオフセットよりも小さい値が指定されているため、エラーとなります。
.BYTE "abcdefghijklmnopqrstuvwxyz"
.BYTE "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
オペランドに記述できる値は、0〜0FFFFFFFFHの範囲の数値です。
オペランドには式、シンボルを記述できます。ただし、アセンブル時に確定する値でなければなりません。
本制御命令は、絶対アドレス形式指定を行ったセクション内には記述できません。
相対アドレス形式セクション内であれば複数回記述できます。ただし本制御命令記述行のオフセットよりも小さい値を指定した場合にはエラーとなります。
本制御命令は、記述した箇所に、アドレスを進めたバイト数だけ、0個以上の無効を意味するデータ(03H)を埋め込みます。
.ENDIAN BIGを記述したセクションのデータのバイト並びはBig Endianになります。
.ENDIAN LITTLEを記述したセクションのデータのバイト並びはLittle Endianになります。
本制御命令が記述されていないセクションのデータのバイト並びは、-endianオプションに依存します。
以下の場合は.SECTIONまたは.ORGの直後に.ENDIANが記述されていないため、エラーとなります。
本制御命令は必ず.SECTION制御命令、またはそれに続く.ORG制御命令の直後に記述してください。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
セクション属性がCODEのセクションに本制御命令を追加することはできません。
確保したRAMのアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、DATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて”,DATA”を記述することでセクション属性がDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
領域にラベル名を定義する場合は、制御命令の前にラベルを記述してください。
確保したRAMのアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、DATA属性のセクション内に記述してください。セクション定義の 際に、セクション名に続けて”,DATA”を記述することでセクション属性がDATAと なります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
領域にラベル名を定義する場合は、制御命令の前にラベルを記述してください。
確保したRAMのアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、DATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて”,DATA”を記述することでセクション属性がDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
領域にラベル名を定義する場合は、制御命令の前にラベルを記述してください。
確保したRAMのアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、DATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて”,DATA”を記述することでセクション属性がDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
領域にラベル名を定義する場合は、制御命令の前にラベルを記述してください。
データを格納したアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、ROMDATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて",ROMDATA"を記述することでセクション属性がROMDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
オペランドに文字・文字列を記述するときは、クォーテーション(‘)またはダブルクォーテーション(“)で囲ってください。このとき格納されるデータは、文字のASCIIコードになります。
ラベルを定義する場合には、制御命令の前にラベル名を記述してください。
endian=bigオプション指定時、本制御命令は次の条件に当てはまるセクション内にのみ記述できます。条件に当てはまらないセクション内に記述した場合はエラーとなります。
(2) セクション定義の際のアドレス補正に4、もしくは8を指示している相対アドレス形式のCODEセクション
endian=bigオプション指定時、本制御命令をセクション属性がCODEのセクションに記述する場合、直前の行にアドレス補正制御命令(.ALIGN 4)を記述し、4バイト境界に配置されるようにしてください。記述されていない場合、アセンブラはウォーニングを出力し、自動的に4バイト境界に配置します。
データを格納したアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、ROMDATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて",ROMDATA"を記述することでセクション属性がROMDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
ラベルを定義する場合には、制御命令の前にラベル名を記述してください。
データを格納したアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、ROMDATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて",ROMDATA"を記述することでセクション属性がROMDATAとなります。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
ラベルを定義する場合には、制御命令の前にラベル名を記述してください。
データを格納したアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、ROMDATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて",ROMDATA"を記述することでセクション属性がROMDATAとなり ます。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
ラベルを定義する場合には、制御命令の前にラベル名を記述してください。
データを格納したアドレスに、ラベル名を定義することもできます。
本制御命令は必ず、ROMDATA属性のセクション内に記述してください。セクション定義の際に、セクション名に続けて",ROMDATA"を記述することでセクション属性がROMDATAとなり ます。
制御命令とオペランドの間には、必ず空白文字またはタブを記述してください。
ラベルを定義する場合には、制御命令の前にラベル名を記述してください。
本制御命令を記述した直後の行のコードを格納するアドレスを2、4または8バイト
本制御命令を記述した直後の行のコードを格納するアドレスを2、4または8バイトアライメントに補正します。
セクション属性がCODEまたは、ROMDATAの場合は、アドレスを補正した結果、空になったところにNOPのコード(03H)を書き込みます。
セクション属性がDATAの場合は、アドレス補正のみ行います。
本制御命令は、次の条件に当てはまるセクション内に記述できます。
(1) セクション定義の際にアドレス補正を指示している相対アドレス形式セクション
相対アドレス形式のセクションで.SECTION制御命令行でALIGN指定のされていないセクションに本制御命令を記述した場合は、ウォーニングが出力されます。