[H8-ML(1359)] 日立のC お助けを・・・
From: 清田 暁男 <kiyota@xxxxxxxxxxxxxxxx>
Date: 2001年09月29日(土)22時28分07秒
始めて投稿させていただきます。清田と申します。

実は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ビットアドレスで使いたいのですが、時間的な余裕が無くてクロック
を数えながらコーディングする部分があり(これも悲しい…)、仕方なく
ノーマルモードになっております。

今日は(も?)まだまだ頑張る予定だったのですが、もうどうしようもない
ので、久々に(?)この時間で諦めるしかなさそうです。
で、「書き逃げ?」するみたいで申し訳ないのですが、明日の日曜日は一日中
寝る(寝ダメ?)事になりそうで、レスが月曜日になってしまいます。
申し訳ありません。

  月曜日には日立にも問い合わせてみようとは思っているのですが
  もし、ご存じ方がおられましたら、よろしくお願いします。

スレッド概略
[表示中](起点)


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]