TMS9995をCでプログラムできる環境ができたので
まずはいつものLEDチカチカです。
$F100番地にメモリマップされたラッチにインクリメントデータを書き込んでいます
アセンブラでのテスト結果と同様に16ビットカウンタの上位5ビットが出力され、見てわかる速度のチカチカに
なるはずだったのですが、いざ実行させると猛烈な速度で点滅してしまいます。
コンパイル結果を見てみると、実際に74VHC574ラッチに出力しているのは21行目の
MOV R8、*R9
の部分です
あ。これって16ビット転送でした。
8ビット幅データバスにあるメモリに16ビット値を書くのですからバスを上位、下位の2回アクセスする訳で
オシロで当たってみると確かに2回書いています
Ch1:74VHC574のCLK端子
Ch2:最下位アドレスA15
これでは上位下位を連続して出力され、LEDが全体的にボーッと光ってしまうのは当然です