質問: ### CC-RLコンパイラ メモリ配置領域指定 上記のURLにRL78ファミリのコンパイラCC-RLにおける、 メモリ配置領域指定(_near/__far)についての説明があります。 _nearと__farをを明示することで、コンパイラに配置先を指示できるようですが どういった場面で使用するのでしょうか?用途のイメージが付きません。
回答: 提示のリンク先に、near と farに関する記述がありますね。 > > near: RAMデータ,およびROMデータに対しては0x0F0000〜0x0FFFFF のアドレス範囲 > > 関数に対しては0x000000〜0x00FFFFのアドレス範囲 > > > far: RAM データ,ROM データ,関数の全てに対して,0x000000〜0x0FFFFF のアドレス範囲 > > > 要するに、nearの場合、アドレス範囲は、 16bit(0xFFFF), で、far の場合、20bit(0xFFFFF)みたいですね。 実際には、RL78ファイル ユーザーズマニュアル を見ると、「4.1 命令アドレスのアドレッシング」で、"レラティブ"と"イミーディエト"があるので、それに対応してるいるのでは無いかと思います。 当然、16bitアドレス(レラティブ)の方が速いでしょう。