__pc_dataの値は次の優先順位で決定します。
(1) | アプリケーション中で__pc_dataを定義している場合は,その値で決定します。 |
注意 | コンパイラは,__pc_dataが2バイト整列されている前提でコードを生成します。このため,アプリケーション中で__pc_dataを定義する場合は,値が2の倍数になるようにしてください。 |
(2) | アプリケーション中に__pc_dataの参照だけがある場合,最適化リンカ(rlink)が,次の優先順位で自動的に,__pc_dataの値を決定します。 |
(2-1) pcconst16属性のセクションが存在する場合,それら全てのセクションの最小アドレスと最大アドレス
の中間値
(2-2) pcconst23属性のセクションが存在する場合,それら全てのセクションの最小アドレスと最大アドレス
の中間値
(2-3) pcconst32属性のセクションが存在する場合,それら全てのセクションの最小アドレス
(2-4) 上記のいずれのセクションも存在せず,__pc_dataの参照だけがある場合,ゼロ
ただし,定義しようとした値が奇数値である場合,その値に1を加えます。