久方ぶりの投稿です,中井@nifty です.
> 「#pragma interrupt」 は使えます。コンパイラを購入して
> しばらくは、インタラプト関数の宣言にこれを使っていた覚えが
> ありますが、しばらくして、使わなくなりました。どうして使わ
> なくなったのかよく覚えていません。割り込み処理がうまく動か
Cコンパイラの吐くアセンブラソースを覗いてみるとよく解ります.
interrupt識別子(?)をつけると全レジスタのPUSH,POPを行なうので
ITUなどの頻繁に割り込みの起こるものに関しては損をします.
やはりアセンブラは欲しいところですね(^^)
また,h8300-hms-gccでソースを吐かしていて気がついたんですが,
関数内でbin->hex変換用の配列を用意したのですが,毎回メモリ間
コピーしていました.
ex.1) const BYTE tbl[]={'0','1', /* 以下略 */
ex.2) static const BYTE tbl[]...
ex2の場合はROMのほうにデータを置いてくれるので,実行時間なども
食わなくなります.
# Cの仕様を考えれば当然といえば当然カモ?
やはり時間的にクリティカルなものはアセンブラで書くべきですね.
# 割り込みとはまた離れたネタを書いてしまいましたね..
# 失礼しました(^^;
------------------------------------------------------------------------
中井 祐一 (Yuichi Nakai) | 信じる心を失ったら
同志社大学大学院工学研究科電気工学専攻 | 生きてはいけないわ
e-mail : yhq00666@xxxxxxxxx | 人は信じる力を源にして
http://www.geocities.co.jp/SiliconValley/7053/| 生きていくものだから
------------------------------------------------------------------------