4.6 LDR Rd, =const を使用したイミディエート値のロード

LDR Rd,=const 疑似命令は、任意の 32 ビット値をロードするための最も効率的な命令を生成します。

この疑似命令を使用して、 MOV 命令と MVN 命令の範囲外の定数を生成できます。
LDR 疑似命令は、指定されたイミディエート値に対して最も効率的な命令を生成します。
  • このイミディエート値を 1 つの MOV 命令または MVN 命令を使用して構成できる場合、アセンブラによってどちらか適切な命令が生成されます。
  • このイミディエート値を 1 つの MOV 命令または MVN 命令を使用して構成できない場合、アセンブラによって以下の処理が行われます。
    • リテラルプール(コードに組み込まれた、定数値を保持するためのメモリの一部)に値を配置する。
    • リテラルプールから定数を読み出す、PC 相対アドレスを使用する LDR 命令を生成する。
    以下に例を示します。
        LDR      rn, [pc, #offset to literal pool]                           ; 1 ワードでレジスタ n  を                           ; アドレス [pc + offset] からロードする
    アセンブラが生成した LDR 命令の範囲内にリテラルプールがあることを確認する必要があります。
関連する概念
4.7 リテラルプール
関連する参考文書
10.46 LDR 疑似命令
非機密扱いPDF file icon PDF 版ARM DUI0473KJ
Copyright © 2010-2014 ARM.All rights reserved.