MAP

MAP ディレクティブは、指定されたアドレスを記憶域マップの起点として設定します。記憶域マップの位置カウンタ {VAR} には、同じアドレスが設定されます。^MAP と同じ意味です。

Show/hide構文

MAP expr{,base-register}

各パラメータには以下の意味があります。

expr

数値式または PC 相対式を指定します。

  • base-register が指定されていない場合は、expr によって記憶域マップの開始アドレスが求められます。記憶域マップの位置カウンタには、同じアドレスが設定されます。

  • expr に PC 相対式が指定されている場合、マップ内でラベルを使用するには、ラベルを事前に定義しておく必要があります。マップでは、アセンブラ最初のパスでラベルを定義する必要があります。

base-register

レジスタを指定します。base-register が指定されている場合、記憶域マップの開始アドレスは、expr と、ランタイムの base-register の値の合計になります。

Show/hide使用法

記憶域マップを記述するには、MAP ディレクティブを FIELD ディレクティブと組み合わせて使用します。

base-register を指定してレジスタ相対ラベルを定義します。次の MAP ディレクティブが出現するまで、このベースレジスタが、後続の FIELD ディレクティブで定義されるすべてのラベル内で暗黙的に使用されます。レジスタ相対ラベルは、ロード命令とストア命令で使用できます。

MAP ディレクティブを複数回使用することにより、複数の記憶域マップを定義できます。

最初の MAP ディレクティブが使用されるまで、{VAR} カウンタにはゼロが設定されます。

Show/hide

        MAP     0,r9
        MAP     0xff,r9

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211