CPU実験室

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

液晶表示テスト

CPUボード上にI/Fとして最後にLCD制御を確認しておきます。LCD制御用の関数をいくつか用意しますがこれらは他のCPUボードで実績があるソースをそのまま持ってこれます。ただしi8031のI/Oはメモリマップドなのでinp()、outp()でポートをアクセスする部分はポインタ変数を介したアクセスに書き直してあります

 

f:id:O3I:20200308192455j:plain

 

実行するとちゃんとLCDに文字列が表示されます。ただちょっと気になるのがコード領域に埋め込まれたリテラルがどのようにアクセスされてデータとしてポート出力されているのか・・です。あとでコンパイラが出力したアセンブラコードを確認してみます。

 

f:id:O3I:20200308192514j:plain