Skip to main content

IAR Embedded Workbench for Arm 9.70.x

アセンブラディレクティブの概要

このセクションの内容:

アセンブラディレクティブは、機能に応じて以下のようにグループ分けされます。

以下の表に、すべてのアセンブラディレクティブの概要を示します。

ディレクティブ

説明

セクション

_args

マクロに受け渡される引数の数に設定されます。

マクロ処理

$

ファイルをインクルードします。

アセンブラ制御

#define

ラベルに値を割り当てます。

C形式のプリプロセッサ

#elif

#if#endifブロックに新しい条件を実装します。

C形式のプリプロセッサ

#else

条件が偽の場合に命令をアセンブルします。

C形式のプリプロセッサ

#endif

#if#ifdef、または#ifndefブロックを終了させます。

C形式のプリプロセッサ

#error

エラーを生成します。

C形式のプリプロセッサ

#if

条件が真の場合に命令をアセンブルします。

C形式のプリプロセッサ

#ifdef

シンボルが定義されている場合に命令をアセンブルします。

C形式のプリプロセッサ

#ifndef

シンボルが定義されていない場合に命令をアセンブルします。

C形式のプリプロセッサ

#include

ファイルをインクルードします。

C形式のプリプロセッサ

#message

標準出力上にメッセージを生成します。

C形式のプリプロセッサ

#pragma

認識されますが、無視されます。

C形式のプリプロセッサ

#undef

ラベルの定義を取り消します。

C形式のプリプロセッサ

/*comment*/

C形式のコメント区切り文字

アセンブラ制御

//

C++スタイルのコメント区切り文字

アセンブラ制御

=

モジュールに対してローカルな永久値を割り当てます。

値の割当て

AAPCS

モジュール属性を設定

モジュール制御

ALIAS

モジュールに対してローカルな永久値を割り当てます。

値の割当て

ALIGN

ゼロが埋め込まれた バイトを挿入して、プログラムロケーションカウンタをアラインメントします。

セクションの制御

ALIGNRAM

プログラムロケーションカウンタをアラインメントします。

セクションの制御

ALIGNROM

ゼロが埋め込まれたバイトを挿入して、プログラムロケーションカウンタをアラインメントします。

セクション制御

ARM

これ以降の命令は32ビット(Arm)命令として解釈されます。

モード制御

ASEGN

名前を付けた絶対セグメントを開始します。

セグメントコントロール

ASSIGN

一時値を割り当てます。

値の割当て

CALL_GRAPH_ROOT

関数がコールグラフルートであるように指定します。

関数

CASEOFF

大文字/小文字の区別を無効にします。

アセンブラ制御

CASEON

大文字/小文字の区別を有効にします。

アセンブラ制御

CFI

コールフレーム情報を指定します。

呼出しフレーム情報

CODE

関連のアセンブラオプションの設定に応じて、これ以降の命令はArm、Thumb、またはA64 命令として解釈されます。

モード制御

CODE16

これ以降の命令は16ビット(Thumb)命令として解釈されます。THUMBに置き換わりました。

モード制御

CODE32

これ以降の命令は32ビット(Arm)命令として解釈されます。ARMに置き換わりました。

モード制御

COL

ページあたりのカラム数を設定します。下位互換性のために保持されています。認識はされますが、無視されます。

リスト制御

DATA

コードセクション内のデータ領域を定義します。

モード制御

DATA64

コードセクション内の64ビットアライメントデータのある領域を定義します。

モード制御

DC8

文字列を含め8ビットの定数を生成します。

データ定義または割当て

DC16

16ビットの定数を生成します。

データ定義または割当て

DC24

24ビットの定数を生成します。

データ定義または割当て

DC32

32ビットの定数を生成します。

データ定義または割当て

DC64

64ビットの定数を生成します。

データ定義または割当て

DCB

文字列を含む、バイト (8ビット) 定数を生成します。

データ定義または割当て

DCD

32ビットのロングワード定数を生成します。(DC32のエイリアス.

データ定義または割当て

DCQ

64 ビットのロング定数を生成します。(DC64のエイリアス.

データ定義または割当て

DCW

文字列を含む、ワード (16ビット) 定数を生成します。DC16のエイリアス.

データ定義または割当て

DEFINE

ファイル全体で有効な値を定義します。

値の割当て

DF16

16 ビットハーフ精度浮動小数点定数を生成します。

データ定義または割当て

DF32

32ビットの浮動小数点定数を生成します。

データ定義または割当て

DF64

64ビットの浮動小数点定数を生成します。

データ定義または割当て

DS8

8ビット整数に空間を割り当てます。

データ定義または割当て

DS16

16ビット整数に空間を割り当てます。

データ定義または割当て

DS24

24ビット整数に空間を割り当てます。

データ定義または割当て

DS32

32ビット整数に空間を割り当てます。

データ定義または割当て

DS64

64ビット整数に空間を割り当てます。

データ定義または割当て

ELSE

条件が偽の場合に命令をアセンブルします。

条件付きアセンブリ

ELSEIF

IFENDIFブロックに新しい条件を指定します。

条件付きアセンブリ

END

ファイル内の最後のモジュールのアセンブリを終了します。

モジュール制御

ENDIF

IFブロックを終了します。

条件付きアセンブリ

ENDM

マクロ定義を終了します。

マクロ処理

ENDR

繰返し構造を終了します。

マクロ処理

EQU

モジュールに対してローカルな永久値を割り当てます。

値の割当て

EVEN

偶数アドレスにプログラムカウンタをアラインメントします。

セクションの制御

EXITM

マクロが終了する前に抜け出します。

マクロ処理

EXTERN

外部シンボルをインポートします。

シンボル制御

EXTWEAK

外部シンボルをインポートします(未定義の場合もあります。

シンボル制御

IF

条件が真の場合に命令をアセンブルします。

条件付きアセンブリ

IMPORT

外部シンボルをインポートします。

シンボル制御

INCLUDE

ファイルをインクルードします。

アセンブラ制御

LOCAL

マクロに対してローカルなシンボルを作成します。

マクロ処理

LSTCND

条件付きアセンブラリストを制御します。

リスト制御

LSTCOD

複数行からなるコードのリストを制御します。

リスト制御

LSTEXP

マクロで生成された行のリストを制御します。

リスト制御

LSTMAC

マクロ定義のリストを制御します。

リスト制御

LSTOUT

アセンブラリスト出力を制御します。

リスト制御

LSTPAG

これは、旧バージョンとの互換性のためです。認識されますが、無視されます。

リスト制御

LSTREP

繰返しディレクティブで生成された行のリストを制御します。

リスト制御

LSTXRF

クロスリファレンステーブルを生成します。

リスト制御

LTORG

現在のリテラルプールを、ディレクティブの直後にアセンブルするよう指示します。

アセンブラ制御

MACRO

マクロを定義します。

マクロ処理

ODD

奇数アドレスにプログラムロケーションカウンタをアラインメントします。

セクションの制御

OVERLAY

認識されますが、無視されます。

シンボル制御

PAGE

これは、旧バージョンとの互換性のためです。

リスト制御

PAGSIZ

これは、旧バージョンとの互換性のためです。

リスト制御

PRESERVE8

モジュール属性を設定

モジュール制御

PUBLIC

他のモジュールにシンボルをエクスポートします。

シンボル制御

PUBWEAK

他のモジュールにシンボルをエクスポートします。複数の定義が許可されます。

シンボル制御

RADIX

デフォルトベースを設定します。

アセンブラ制御

REPT

指定回数だけ命令を繰り返します。

マクロ処理

REPTC

文字を繰り返し、置換します。

マクロ処理

REPTI

文字列を繰り返し、置換します。

マクロ処理

REQUIRE

シンボルを強制参照させます。

シンボル制御

REQUIRE8

モジュール属性を設定

モジュール制御

RSEG

を開始します。セクション

セクション制御

RTMODEL

ランタイムモデル属性を宣言します。

モジュール制御

SECTION

セクションを開始します。

セクション制御

SECTION_TYPE

セクションのELFタイプおよびフラグを設定します。

セクション制御

SETA

一時値を割り当てます。

値の割当て

THUMB

これ以降の命令はThumb拡張モード命令として解釈されます。

モード制御

表145 アセンブラディレクティブの概要