CPU実験室

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

GCCプログラム

電源配線を強化してから動作は安定するようになったようです。LEDチカチカで長時間ランニングテストをやってますが暴走したり勝手にリセットは起きていません。

たとえば簡単なCソースコード8255PAにインクリメントコードを出力

これをDJGPPコンパイルアセンブリ中間コードはこうなりました

アセンブル後にスタートアップ、ボードハード固有関数群のライブラリ、printf系サブセットモジュールをリンクして最終的に4096バイトのバイナリになります

スタートアップはここで作ったものと同じものでリアルモードからプロテクトモードに切り替えてmain関数を呼ぶものです。OSは無いのでプロテクトモード自体は重要ではないですがプリフィックス無しで32ビットレジスタが扱えるようになります

実行させるとPAの最下位ビットが約62.5kHzでトグルしました。思ったより遅いですが_outpモジュールの中で何か面倒なことをしてるのかもしれません