Share via


ARM の定数と変数の宣言

2007/9/7

次の ARM アセンブリ ディレクティブは定数の設定に使用されます。

ディレクティブ 構文 説明

*

label *expression

EQU と同じ。

固定式またはプログラム相対式にシンボリック ラベルを指定します。

CN

label CN numeric-expression

コプロセッサ レジスタ番号を指定します。c0 から c15 はあらかじめ定義されており、ラベルとしては使用できません。

CP

label CP numeric-expression

コプロセッサ番号に名前を指定します。可能であれば 0 から 15 までの範囲内にする必要があります。

p0 から p15 までの名前はあらかじめ定義されており、ラベルとしては使用できません。

EQU

label EQU expression

固定式またはプログラム相対式にシンボリック ラベルを指定します。

FN

label FN numeric-expression

可能であれば浮動小数点レジスタの名前を定義します。

F0 から F7 および f0 から f7 までの名前はあらかじめ定義されています。

あらかじめ定義されているレジスタ名はラベルとしては使用できませんが、数値式としては使用できます。

RN

label RN numeric-expression

レジスタ名を定義します。名前でのみレジスタを参照します。

R0 から R15、r0 から r15、PC、pc、LR および lr の名前はあらかじめ定義されています。

あらかじめ定義されているレジスタ名はラベルとしては使用できませんが、数値式としては使用できます。

このアセンブラではグローバル変数とローカル変数がサポートされます。グローバル変数のスコープは、ソース ファイル全体ですが、ローカル変数のスコープはマクロの特定のインスタンス化に限定されます。

次の表に、ローカル変数とグローバル変数の設定に使用される ARM アセンブリ ディレクティブを示します。

ディレクティブ 構文 説明

GBLA

GBLA variable-name

グローバル算術変数を定義します。

算術変数の値は、32 ビットの符号なし整数です。

GBLL

GBLL variable-name

グローバル論理変数を定義します。

GBLS

GBLS variable-name

グローバル文字列変数を定義します。

LCLA

LCLA variable-name

初期状態が 0 のローカル算術変数を定義します。

LCLL

LCLL variable-name

初期状態が FALSE のローカル論理変数を定義します。

LCLS

LCLS variable-name

初期状態が NULL 文字列のローカル文字列変数を定義します。

SETA

variable-name SETA expression

算術変数の値を設定します。

SETL

variable-name SETL expression

論理変数の値を設定します。

SETS

variable-name SETS expression

文字列変数の値を設定します。

文字列変数の値を設定するときは、引用符を使用する必要があります。

ローカル変数は、マクロ内からのみ宣言することができます。また、変数を宣言した後はその名前を他の用途に使用できません。

次に示すように、変数の中にはアセンブラによって値が置き換えられるものがあります。

  • 変数名に $ 文字のプレフィックスがある場合、アセンブラは行の構文を確認する前に変数値を置き換えます。
  • 変数が論理変数か算術変数の場合、アセンブラは変数に対して .STR 演算を実行し、変数をその演算の結果に置き換えます。

関連項目

概念

ARM アセンブラ ディレクティブ