ADRL を使用したレジスタへのアドレスのロード

ADRL 疑似命令を使用すると、データをロードしなくても特定の範囲内のアドレスを生成することができます。ADRL 命令では、PC 相対式を使用できます。PC 相対式とは、任意のオフセットに付けるラベルで、このラベルのアドレスが現在の PC の相対アドレスとります。

Note

ADRL 命令で使用するラベルは、同じコードセクション内に存在している必要があります。同じコードセクション内にないラベルを参照すると、アセンブラによりエラーが返されます。

ARMv6T2 より前のプロセッサでは、Thumb 状態で ADRL 命令を使用することはできません。

アセンブラは、以下を生成することにより、ADRL rn,label 疑似命令を変換します。

利用できる範囲は、使用する命令セットによって異なります。

ARM

2 つの ADD 命令または 2 つの SUB 命令によって生成できる任意の値。つまり、2 つの値の加算によって生成できる任意の値で、それぞれの値は、32 ビットのワード内で 8 ビットのを右に任意の偶数ビット分ロテートして得られます。この範囲は PC からの範囲です。

32 ビット Thumb

バイト、ハーフワード、またはワード境界で整列されているアドレスから ±1MB の範囲

16 ビット Thumb

ADRL 命令は使用できません。

Show/hide関連項目

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