日本橋電気街徘徊日誌

いいとしのおっさんがジャンク屋で買ったものをいじったり電子工作したりします。

FM-7のDOH-Cコンパイラで割り込みの記述方法を確認してみた

2019-04-06 19:52:54 | 電子工作

ちょぼちょぼFM-7を動かしています。
津田伸秀氏のDOH-CコンパイラとOH!FM87年8月9月掲載の
seという組み合わせで利用しています。
この組み合わせだとコンパイラ本体とエディタをメモリに
常駐させて使えるので7やNew7のような64KBしかメモリが
ない環境では非常に快適です。
DOH-Cは当時買ったはいいものの、その後すぐにPC286VSを
買ったので使い込まないままほっていました。
最近FM-7でそれなりのサイズのアプリを作りたい気が
してきたのであらためてDOH-Cに取り組んでみました。
お題としては割り込み処理をDOH-Cで書けるかどうか
試してみましたが、あまり変なことをせずに素直に
記述できましたのでウェブ上に他に全く情報も
ないようなのでここに書いておきます。

DOH-Cはブレークキーを押されたら処理が中断する処理が
あり、プログラム終了時にFIRQのフックを元の値に
書き戻すので、割り込みフックに割り込み処理のアドレスを
書いてやればそれでよいようです。(前後に割り込みマスク・
許可はあったほうがよさそうです)
IRQの場合はDOH-Cは何もしていないようなので、IRQの
割り込みフックに値を設定する場合は自分で元に戻す必要が
ありそうです。

割り込み処理側では最後にRTIで終わってやればよいようです。
画像はFIRQなので処理の最初と最後でレジスタの退避と戻しを
行っています。(画像ではPC以外すべてを退避していますが、
マニュアルによるとDOH-CはABXYSしか使わないようですので
code文のところは0x34,0x36と0x35,0x36とかでよさそうです)





最新の画像もっと見る

コメントを投稿