投稿

ラベル(CP/M)が付いた投稿を表示しています

BDS C のサンプル - CP/M のバージョンと TPA のサイズを表示

イメージ
>BDS C の使い方 - 目次 /* BDS C のサンプル OSのバージョンと TPA のサイズを表示する 2014年9月29日作成 */ #include <stdio.h> main() { short *TPA; short TPASIZE; short VER; TPA=0x0006; TPASIZE=*TPA-0x00FF-1; VER=bdos(0x0C,0); printf("CP/M Version 0x%04x\n",VER); printf("TOP OF MEMORY 0x%04x\n",*TPA-1); printf("TPA SIZE 0x%04x (%u) byte / %u kbyte\n",TPASIZE,TPASIZE,TPASIZE>>10); } CP/M エミュレーターで実行 >cpm mem\mem CP/M Version 0x0122 TOP OF MEMORY 0xFDFF TPA SIZE 0xFD00 (64768) byte / 63 kbyte > X1 で実行 MSX で実行 >BDS C の使い方 - 目次

BDS C の使い方 - とりあえず使ってみる

イメージ
>BDS C の使い方 - 目次 Z80 のプログラムを書く用事があったんですが、アセンブラは大変なので自由に使える Cコンパイラは無いものかな?と google で検索すると、 BDS C V1.6 が明確にパブリックドメイン宣言されて、 BD Software さんから配布されています。 他にもいくつかあるようでしたが、BDS C には立派な PDF形式のマニュアルも同梱されていて、使い方を調べやすそうな感じがしたので、今回はこれを使うことに決めました。 シャープから X1 用として販売されていた Cコンパイラが、この BDS C (α-C) だったようですね。 ダウンロード BD Software さんの BDS C のページ  の Primary Downloads の所から 1.5MB の ZIP ファイル (bdsc-all.zip) をダウンロードします。この bdsc-all.zip に C コンパイラの動作に必要なファイルすべてと、PDF形式のマニュアルが含まれています。 Documentation のところに容量の大きなマニュアル (bdsc-guide-full.pdf) もあるのですが、表紙画像の有無だけの違いのようで、内容は同じようでした。 BDS C は CP/M 上で動作するのですが、実機より現代の PC で動作させたほうが高速ですし、普段使っているテキストエディタも使えてずっと便利なので、Windows 上で CP/M のエミュレータを使用して、その上で BDS C を実行することにします。 今回は、 村上 敬司 さんの CP/M program EXEcuter (CPM.EXE)  を使用します。64bit版 windows では MS-DOS汎用のプログラムは動作しないので、win32版の CP/M program EXEcutor for Win32  をダウンロードしておきます。 コンパイラを動かすのに必要なファイル 以下のファイルだけがあればコンパイラが動作できます。 bdsc160\ CC.COM コンパイラ本体 CC2.COM コンパイラ本体2 CLINC.COM ...