Skip to main content

IAR Embedded Workbench for Arm 9.70.x

LDR (ARM)

このセクションの内容:
構文
LDR{condition} register,=expression1

または

LDR{condition} register,expression2
パラメータ

condition

オプションの条件コードです。

register

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

expression1

任意の32ビット式です。

expression2

プログラムロケーションカウンタから-4087~+4103の範囲内にあるプログラムロケーションカウンタ相対式です。

説明

最初の書式のLDR擬似命令は、任意の32ビット式をレジスタにロードします。2番目の書式の命令は、その式によって指定されたアドレスから32ビットの値を読み込みます。

expression1の値がMOVまたはMVN命令の範囲内にある場合、アセンブラは適切な命令を生成します。expression1の値がMOVまたはMVN命令の範囲内にない場合またはexpression1が未解決の場合には、アセンブラは定数をリテラルプールに入れ、その定数をリテラルプールから読み出すプログラム相対LDR命令を生成します。プログラムロケーションカウンタから定数へのオフセットは4キロバイト未満でなければなりません。

            name    armLdr
            section MYCODE:CODE(2)
            arm
            ldr     r1,=0x12345678  ; Becomes "ldr r1,[pc,#4]":
                                    ; loads 0x12345678 from the
                                    ; literal pool.
            ldr     r2,label        ; Becomes "ldr r2,[pc,#-4]":
                                    ; loads 0xFFEEDDCC into r2.
            data
label       dc32    0xFFEEDDCC
            ltorg                   ; The literal pool is placed
                                    ; here.
            end
関連項目

アセンブラ制御LTORG