LDR (ARM)
このセクションの内容:
構文
LDR{condition}register,=expression1
または
LDR{condition}register,expression2
パラメータ
| オプションの条件コードです。 |
| ロードするレジスタです。 |
| 任意の32ビット式です。 |
| プログラムロケーションカウンタから-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。