はじめまして、島田といいます。 秋月の 3069/8019 ボードで遊んでおります。 自前の ne2000 ドライバを書いて、ようやく ping に応答できるようになりました。 よろしくお願いします。 で、金さんの件ですが、ソースを見た限りでは >void int_wovi(void) /* interval timer interrupt */ >{ の関数が割り込み処理である事が指定されていませんが、 その点はどこか他の場所で指定されていますか。 もし指定しなかった場合は、コンパイラは通常の関数と同様に RTS 命令でサブルーチンからリターンするようにアセンブリコードを 組み立てると思います。しかし割り込み処理からのリターンでは RTE を 使わなければなりません。 RTS と RTE ではスタックからリターンアドレスを取り出す位置が 異なりますので、割り込み処理から RTS で復帰しようとすると明かに 変なアドレスへジャンプする事になります。 金さんの場合、その変なアドレスにジャンプした結果 main() が 初めから実行されているのではないかと推測します。 Shimada Naoki nshimada@xxxxxxxxxxxxxxx