Skip to main content

IAR Embedded Workbench for Arm 9.70.x

ADRL (ARM)

このセクションの内容:
構文
ADRL{condition} register,expression
パラメータ

{condition}

次のいずれかです。EQNECSCCMIPLVSVCHILSGELTGTLEAL

register

ロードするレジスタです。

expression

64キロバイト以内のワード整列されていないアドレス、または256キロバイト以内のワード整列されたアドレスになる、レジスタ相対式です。未解決な式 (たとえば外部ラベルまたは他のセクション中のラベルを含む式) は、64キロバイト以内でなければなりません。このアドレスは命令アドレスの前後にすることができます。

説明

ADRL擬似命令はプログラム相対アドレスをレジスタにロードします。これはADR擬似命令に似ています。ADRLは2つのデータ処理命令を生成するため、ADRよりも広い範囲のアドレスをロードします。ADRLは常に2つの命令にアセンブルします。1つの命令によってアドレスに到達できる場合でも、もう1つの命令が重複して生成されます。2つの命令によってもアセンブラがアドレスを構築できない場合、エラーメッセージが生成され、アセンブリは失敗します。

            name    armAdrL
            section MYCODE:CODE(2)

            arm
            adrl    r1,label+0x2345 ; Becomes "add r1,pc,#0x45"
                                    ;     and "add r1,r1,#0x2300"
            data
label       dc32    0

            end