CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

割込みテスト

ここのところ割込み処理のテストをやっているのですがうまくいってません。

やろうとしていることは単純で、メインルーチンはこれだけです。
 
イメージ 1
モニタROM内で8259は初期化されている前提ですが
setup_intr()関数内で
①割込みタイプに対応するベクタテーブルに割込みハンドラのアドレスをセット
②8259のマスクレジスタの対応するビットを解除
③ei()関数でCPUのCLI命令を実行。割込み許可にする
④while(1)の永久ループで変数cntの値を8ビットLEDに表示・・・
 
IRQ5には8253から10Hzが入力されています。
100msおきに起動される割込みハンドラirq5()で変数cntはインクリメントされるので
10HzでLEDチカチカになるはずですが・・これがウンともスウとも動きません。
コード的には8085やV53で動作している初期化、メインルーチンと同等なのですが。
 
そもそも8259からハード的にINT信号が出力されないので、壊れているのかと思ってデバイス差し替えたりしたのですがそれでもダメ。
 
でボーッと8259周りの回路図を眺めていたのですが
 
 
イメージ 2
 
うわあ   やってもうた・・