独自研究内容が含まれます。自分史的にマイコンいじり40周年のアニバーサリーイヤーなのでいろいろ昔の事を調べています。
一般的に始めてのマイコンは1975年にアメリカで発売されたAltairといわれています。Altairにはインテルの8080が使われていました。
インテルの8080のマニュアルにはインストラクション以外にマクロなどのアセンブラの仕様も書かれています。
今も昔も、新しいコンピューターは必ずクロスの開発で始まります。
いろいろ調べてみるとインテルはFortrun(66?)で書かれたクロスアセンブラを提供していたようです。多くのユーザーはそれをDEC社のミニコンPDP-10などで使っていたと思われます。おそらくその仕様がマニュアルに書かれてるのではないでしょうか。
マイクロソフトはおそらくこの環境を使い、1975年にリリースしたAltair BASICを作ったのではないかと想像されます。
創業間もないマイクロソフトが高価なPDP-10購入する事は不可能で、ハーバード大学にあった、マシンを使ったようです。
Altair BASICは紙テープで提供され、シリアル接続のビデオターミナルが入出力だったようです。
Altair BASICはかなり早い時期に実数すなわち浮動小数点とsinなどの関数のサポートが入りそれが成功につながったような気がします。
BASICは簡単に使える言語としてダートマス大学でミニコン用に開発されましたが、マイコンにとってのBASICはセルフで開発できる環境という側面も持つ事になりました。
その後CP/M用に提供されたMACRO-80もCP/MのASMを使ったのではなくAltair BASICと同じくクロスで作られたのでような気がします。
MACRO-80ができてからは徐々にセルフ開発に移っていたのではないでしょうか。
MACRO-80がASMなどとは違ったのはリロケータブルなオブジェクトファイルを作成しLINK-80で複数のオブジェクトファイルからバイナリを作る事ができたことです。この仕組みはBASICコンパイラなどのオブジェクトのリンクにも使われていたようです。大規模なソフトウエア開発に有効だったのではないかと考えられます。
CP/M上のMBASICはバージョン4.4で1977のメッセージが確認できAltair BASICバージョン4の入出力を変えただけなのではないかと思います。MBASICの最終バージョンは5.21だったようです。
いろいろ調べて見ると1977年にはMicrosoft Disk BASIが完成していて、これにはMS-DOSでもおなじみのFATが使われていたようです。
Altair BASICはマイクロソフトの始めてのプロダクトでMACRO-80は開発環境の始まりで、MS-DOSはOSの始まりだったと思います。
マイクロソフトの創業時の話はAltair BASICやMS-DOSの話がよく語られますが、MACRO-80も商業的にも自社開発にも非常に重要な役割を果たしたのではないでしょうか。
Altair BASICはビルゲイツが作ってMS-DOSは会社を買ったといわれていますが、MACRO-80は誰が作ったのでしょうかね?