CPU実験室

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

CでLチカ

環境が整ったのでCでプログラムしてみます

まずはソースファイル。内蔵パラレルポートP7を定義するためにヘッダファイルio900h1.hをインクルードしていますが、

ソース本体はアセンブラ言語でのLチカテストとほぼ同じになっています

ソースファイル:TEST.C

コンパイル時のコマンドライン

   cc900 -Nb3 -O3 -laf %1.map -o %1.abs stc92ml.rel %1.c c92.lcf
オプションは

 -Nb3:ターゲットCPUをTLCS900/H1指定

 -O3:最適化最大

 -laf fname:リスティングファイルとマップファイルを出力

 -o fname:出力ファイル指定

ソースファイル以外の入力ファイルはアセンブル済スタートアップstc92ml.relとリンケージファイルc92.lcfです

 

リスティングファイル:TEST.LST

マップファイル:TEST.MAP

ちゃんとコードは0x20000、データは0x2000から配置されました

 

リンカが出力するオブジェクトTEST.ABSIEEE695オブジェクトモジュールフォーマットで扱いにくいのでオブジェクトコンバータtuconvIntelヘキサフォーマットに変換します

   tuconv -ra 0x20000,,0 %1.hex %1.abs

さらにモニタでダウンロードするためバイナリに変換します

   hex2bin %1.hex %1.bin

ようやくターミナルからDLLできる形式になりました