CPU実験室

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

NS32Kアセンブラ

ハード環境がほぼ準備でき、いよいよプログラムを書くにあたってまず必要なインストラクションセットのマニュアルアセンブラですが、これは先に紹介したサイトで見つけてきました。・・・というかここ以外にはNS32000シリーズに関する情報はほとんど皆無といってもいいんじゃないでしょうか。万能かと思われたASアセンブラもNS32000シリーズには対応していませんでした。

アセンブラans32k.exeはコマンドプロンプト上で動作し、引数無しで実行すると簡単な使い方は表示されます。

f:id:O3I:20191107235051j:plain

 

まぁこれだけでもコマンドラインでの使い方は大体解る、というかこれが全てなのですが、ところが言語仕様などのドキュメントが全然みつかりません。コード本体のインストラクションセットがわかっていてもディレクティブ(疑似命令)や数値表現、演算子が全くお手上げです。アセンブラが置いてあった場所のお試し用のサンプルソースコードにわずかに記述例はありますが何の解説もありません。

すくなくとも疑似命令などの予約語アセンブラの実行ファイルの中にテーブルとして埋め込まれているだろうと思いバイナリダンプしてみました。

f:id:O3I:20191107004753j:plain

一応、ニーモニックの羅列の後にドットから始まる疑似命令らしきキーワードが並んでいるところがあります。


.INCLUDE .EXTERNA .TITLE  .MODULE  .PROGRAM .ALIGN
.BYTE  .WORD  .DOUBLE  .QUAD  .FLOAT  .LONG
.OPT_ON  .DEBUG  .OPT_OFF .ASCII  .GLOBL  .LCOMM
.TEXT  .TYPE  .SIZE

ほかのCPUのアセンブラと見比べれば、型宣言とかなんとなく使い方がわかるものもありますが、全く分からないものもあり手探りで行くしかありません。