アセンブリ時の変数代入

アセンブリ言語で記述されたコードの行全体、またはコード行の一部に、文字列変数を代入することができます。変数に値を代入する箇所で、$ 接頭文字を付けた変数を使用します。ドル記号を使用すると、アセンブラは、行構文をチェックする前に、文字列をソースコード行に代入します。代入された行がソース行の制限を超えると、アセンブラによってエラーが生成されます。

数値変数や論理変数も代入可能です。変数の現在の値は、代入前に 16 進数文字列に変換されます(論理変数の場合は T または F に変換されます)。

後続の文字がシンボル名に使用できる場合は、変数名の末尾にドットを付けます。変数を使用するには、変数の内容を設定する必要があります。

$ という文字に値が代入されないようにするには、$$ と指定します。これは、1 つの $ に変換されます。

文字列には、変数と $ 接頭文字を一緒に含めることができます。代入は、他の場所と同じように行われます。

代入が二重引用符内部の縦線の影響を受けない場合を除き、縦線内で代入は行われません。

Show/hide

    ; 簡単な代入
        GBLS    add4ff
        ;
add4ff  SETS    "ADD  r4,r4,#0xFF"    ; add4ff をセットアップする
        $add4ff.00                    ; add4ff を呼び出す
        ; これによって以下が生成される
        ADD  r4,r4,#0xFF00
    ; 複雑な代入
            GBLS    s1
            GBLS    s2
            GBLS    fixup
            GBLA    count
            ;
count       SETA    14
s1          SETS    "a$$b$count" ; s1 の現在の値が a$b0000000E になる
s2          SETS    "abc"
fixup       SETS    "|xy$s2.z|"  ; fixup の現在の値が |xyabcz| になる
|C$$code|   MOV     r4,#16       ; ただし、ここのラベルは C$$code になる

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0473FJ
Non-ConfidentialID111311