C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。
マイクロコンピュータの略で、CPUにマイクロプロセッサを用いたコンピュータのこと。家電製品、電磁機器などの制御に用いられています。単体でコンピュータとしての機能を一通り備えています。 現代のパーソナルコンピュータに近く、同時期のメインフレームやミニコンピュータと比べ、小さいことが特徴です。
Q&A
解決済
2回答
8090閲覧
退会済みユーザー
総合スコア0
0グッド
0クリップ
投稿2019/05/19 01:15
0
メモリ配置領域指定
上記のURLにRL78ファミリのコンパイラCC-RLにおける、 メモリ配置領域指定(_near/__far)についての説明があります。
_nearと__farをを明示することで、コンパイラに配置先を指示できるようですが どういった場面で使用するのでしょうか?用途のイメージが付きません。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答2件
一般的に、メモリの配置を制限する理由は、特定の範囲に収まっていれば命令の実行が高速だったりプログラムが短くなったりするためです。 RL78の命令セットははっきりは記憶していませんがメモリの指定の仕方が色々あった気がするのでそれでしょう。 可能な限りnearを使い、収まらなくなったら高速に走らせたいプログラムを優先的にnearにするとよいです。
投稿2019/05/19 01:35
総合スコア3047
回答へのコメント
2019/05/23 13:06
ベストアンサー
提示のリンク先に、near と farに関する記述がありますね。
near: RAMデータ,およびROMデータに対しては0x0F0000〜0x0FFFFF のアドレス範囲
関数に対しては0x000000〜0x00FFFFのアドレス範囲
far: RAM データ,ROM データ,関数の全てに対して,0x000000〜0x0FFFFF のアドレス範囲
要するに、nearの場合、アドレス範囲は、 16bit(0xFFFF), で、far の場合、20bit(0xFFFFF)みたいですね。
実際には、RL78ファイル ユーザーズマニュアル を見ると、「4.1 命令アドレスのアドレッシング」で、"レラティブ"と"イミーディエト"があるので、それに対応してるいるのでは無いかと思います。 当然、16bitアドレス(レラティブ)の方が速いでしょう。
投稿2019/05/19 12:12
総合スコア6385
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.31%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
コンパイラによるメモリ配置領域指定について
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/05/23 13:06