昨日に引き続きのプログラミング環境ネタ。昔処分した会社のPCのバックアップデータを整理していたら、ASM.EXEやらMASM.EXEやら、MASMのファイル一式?と思わしきものが出てきた。アセンブラはNASM(とCASLIIも資格で勉強したけど忘れた)を使ったことがあるけど、MASMは知識で知っているだけで使ったことはないな。ファイルのタイムスタンプは83年5月31日。んー、昭和83年だとしたら🤔...西暦だと2008年だから、そこまで古くないな🙂とりあえず、MASM.EXEを実行してみるか。PCの発売と同時にリリースされた感がある。タイムスタンプは1983年なんだな。PCのDOS上で動かすところまでエミュレーションできるが、タイムスタンプはこちらと一致しない。ファイルサイズも実行ファイル以外は違いがある。ちなみに、若干サイズが小さいASM.EXEはマクロをサポートしていない。PCでDOSが動作するモデルの基本仕様はメモリが64KBで、MASM.EXEではメモリに入らないからだろう。Assemblerの略称だと思ってた。それも間違いではないのかもしれないけど。サンプルプログラムらしきファイルを見てみると、なんと説明書きが日本語だった。5550用の「マクロ・アセンブラー」だ。バッチファイルの中身も微妙に違っていて、押すべきキーの名称が変わっている。PCのキーボードにはPauseキーがなかったのか。1.0のサンプルプログラムを動かしてみるサンプルプログラムをアセンブルしてみる。DOS用のリンカー(LINK.EXE)はMASMに添付されていないので、別途用意する必要がある。K3.xに付属しているのでこれを使う。J4.0以降には付属しない。MASM自体は汎用なので必ずしもPS/55のDOSで実行する必要はないけど、サンプルプログラムは分からん。EXMP1Mを実行する。拡張子(.ASM)をつけて実行するとソースファイルが消失するので注意。EXMP2Mを実行する。バッチファイルのコマンドによってEXEファイルが生成されるが、このファイルは正常に動作しない。2つのオブジェクトファイルを結合するようリンカーに指定する必要がある。EXMP1M+EXMP2Mを実行する。後ろにセミコロンをつけると、それ以降のパラメーターをデフォルトで指定したことになり、プロンプトは表示されない。EXMP1M.EXEが生成されるので、これを実行する。25行目の表示が壊れるが、半角・全角切り替えなどで直る。サンプルプログラムを見て何をやっているかは分かるけど、これだけ見てMASMで一からプログラムを作れるかというと難しいな。EDLINで開発することを考えるとなおさら恐ろしい。いや、IBMユーザーならパーソナル・エディターか。あれも現代のテキストエディターに比べると癖があって使いにくそう。Disqus.※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。(akm)は、PCとVTuberに夢中になっている電気技術者です。私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。私の活動はトップページで見ることができます。sakmug-dp.。