始めて投稿させていただきます。清田と申します。 実はH8でドボンしておりまして・・・お助けを乞う次第です。 (本当は他の方のお力になるのがささやかな希望ではあるのですが…) 日立のCコンパイラ(PS008CAS4 Ver4.0A : 日立超LSIシステムズ) を使っているのですが、Cコンパイラがはき出したコードの一部が 原因でアセンブルエラーが出て、もうどうにも浮き上がれない状態に なってしまいました。(まだ書き始めたところなんですが・・・) チップは H8S/2144 でして、なんと「ノーマルモード」 (64Kアドレス)で使っております。 ソースは、今のところ、Cは1本(800行)で、アセンブラが4本 (合せて13000行ほど)です。 このCコンパイラは始めて使いました。 現象は、 main() から呼ばれる関数(テスト用)で、「条件が合わなければ すぐに戻る部分」で発生しているようです。 具体的には、関数の頭の部分で条件に合わず戻る場合、関数の最後へ ジャンプする命令 ( BNE Lxxx ) をはき出しているのですが、その飛び先 が、8ビットオフセットでは飛べない距離であるにもかかわらず、 :16 が 付いていないため、 402 (E) ILLEGAL VALUE IN OPERAND で落ちてしまいます。 となたか、回避手段をご存じではないでしょうか? 尚、このコンパイラ、何回かコンパイルすると「リソースが不足しています…」 と表示され、その後はハングアップしてしまいます。現在、毎日3回ほどは パソコン本体をリセットする作業がかかせません(笑)。 他のソフトでは今まで経験した事がなかったので、原因は・・・。 まぁパソコンをリセットすれば(数分のロスで)また使えますので、 致命的では無いのですが、¥20万もするコンパイラなのに…と ちょっと不満ではあります。(OSはWin98無印です) もっとも、自分のプログラムの「出来」を思えば、責められない… という気持ちが沸いてくる方が…もっと悲しい気がしますけど・・・。 本当は24ビットアドレスで使いたいのですが、時間的な余裕が無くてクロック を数えながらコーディングする部分があり(これも悲しい…)、仕方なく ノーマルモードになっております。 今日は(も?)まだまだ頑張る予定だったのですが、もうどうしようもない ので、久々に(?)この時間で諦めるしかなさそうです。 で、「書き逃げ?」するみたいで申し訳ないのですが、明日の日曜日は一日中 寝る(寝ダメ?)事になりそうで、レスが月曜日になってしまいます。 申し訳ありません。 月曜日には日立にも問い合わせてみようとは思っているのですが もし、ご存じ方がおられましたら、よろしくお願いします。