Everything
8.4.3 __pc_data

__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を加えます。