1963年に発表された三菱電機のMELCOM-1530システムは,マイクロプログラム制御のさきがけとなる「ストアードロジック」という画期的な方式を採用したコンピュータであるが,そのプログラムの作成やテストを容易かつ効率的に行うために,次のような体系のシステム・プログラムが作成された.
1. プログラム作成支援
アセンブラとしてSIAとSIAS,コンパイラとしてFORTRANとCOBOLが用意された.
(1) SIA
SIAは,コンピュータの機械語命令に対応する記号を使って作成されたプログラムを,オブジェクト・プログラムに変換するという通常のアセンブラ機能に加えて,そのプログラムで使用する機械語に対するマイクロプログラム(LOGRAMと呼ばれる)をLOGRAMライブラリから選択してオブジェクト・プログラムに付加するという機能を持っている.実行段階では,ローダがオブジェクト・プログラムとLOGRAMをコア・メモリにロードする.
LOGRAMは,LOGANDアセンブラを用いてユーザが作成することもできる.
(2) SIAS
SIASは,SIAにマクロ命令機能を追加したものである.マクロ命令をアセンブルすると,対応するSIAで書かれたサブルーチンを呼び出す命令が生成され,そのサブルーチンをマクロ・ライブラリから選択してオブジェクトにプログラムに付加する.
マクロ命令は,事務データ処理における磁気テープとの入出力命令が主で,OPEN,CLOSE,GET,PUTの4種類の命令が,次の(a)〜(d)の4種類の磁気テープへのアクセス形態のそれぞれについて用意されている.
(a)ラベルなしテープ,固定長レコード
(b)ラベル付きテープまたはラベルなしテープ,固定長レコード
(c)ラベル付きテープまたはラベルなしテープ,可変長レコード
(d)ラベル付きテープまたはラベルなしテープ,可変長レコード,バッファリング機能付き
(3) FORTAN
FORTRANは,当時新しく制定されたFORTRAN IVを採用していた.
(4) COBOL
COBOLは,当時最も一般的に使用されていたCOBOL 61に従っており,COBOL 61のRequired COBOLの全部とElective COBOLの一部を採用していた.MELCOM-1530では,ストアードロジック(マイクロプログラミング)の特長を活かし,COBOLでの処理に合った機械語を作り出すことにより,能率のよいシステムを実現している.COBOLを用いた処理の構成例を図に示す.
2. ユーティリティ
SORT,MERGE,Card to Tape,Tape to Print,Card to Print,Tape to Cardなどがあった.
3. テスト支援(ファシリティ・プログラム)
プログラムのテストを行うプログラムとして,CAP(Control and Analysis Program),ITDD(Interpretive Trace and Dynamic Dump),TRACE(Trace Program),Tape Dumpがある.
CAPはプログラムを止めた状態でコア+M4・メモリの内容をダンプして調べるスタティック・デバッグに,ITDDはプログラムを実行しながら中間のコア・メモリやアキュムレータの内容をプリントするダイナミック・デバッグに用いられる.
4. コンピュータの運転支援
プログラムのオペレーションや準備のためには,CAPやローダに加え,FORTRANモニタ,および,テープ・オペレーティング・システムが用意された.
(1) FORTRANモニタ
FORTRANモニタは,FORTRANで書かれたプログラムを機械語のプログラムにコンパイルし,実行するまでを連続的に処理するプログラムである.このため,図に示すように,FORTRANコンパイラ,FORTRANライブラリ,SIAアセンブラ,LOGRAMライブラリ,ローダを併せて1本のテープとなっている.FORTRANモニタへのインプットは次の(a)〜(c)の3種類があり,これらをいくつか集めてインプット・テープにまとめ,連続的に処理できるようになっていた.
(a)FORTRANプログラム.(コンパイルのみ)
(b)FORTRANやCOBOL,SIA,SIASなどのオブジェクト・プログラムと,そのオブジェクト・プログラムで処理するデータ.
(c)FORTRANプログラムと,そのプログラムで処理するデータ.
(2) テープ・オペレーティング・システム
テープ・オペレーティング・システムは,特に事務データ処理のプログラムを連続的に処理するためのもので,SIA,SIAS,FORTRAN,COBOL,SORT,MERGE,その他ユティリティ・プログラムなどのシステム・プログラムと,ユーザの作成した処理プログラムのオブジェクト・プログラムをまとめて1本のシステム・テープに入れておき,オペレータが指示したプログラムを選択してコア・メモリにロードして実行するものである.