ADRL (ARM)
このセクションの内容:
構文
ADRL{condition}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