2021年07月26日
_ [computer] マシン語をいきなり書く人
特に話題が無くても、思い出や昔話を書き留めてもどうにもなんないよなぁ、って思ってはいたものの、もしかしたら本格的に忘れてしまうかもしれないので、、
今週のジャンプをコンビにて立ち読みしてみたら、プログラムをいきなり16進のマシン語で書く人が出てきました。
まぁ、マシン語って当然ながら処理系依存なので、どの処理系(CPU)を考えて居るのか不明です。ファミコン作るって書いてあったので、6502かなとも思いますが、まぁ、マンガなので、、
マシン語でいきなりプログラム書く人、大学1年の時、本当に見ました。
その年から出来たばかりのコンピュータ研究会で、主に先輩の2年生と我々1年生だけ、部屋をもらっての初めての大学祭への出展。展示は、まぁ高校生とあまり変わらない様なモノだったけど、先輩が今は誰も使っていないミニコン(TOSBAC10、当時でさえ古い機種らしい)を見つけてきて、展示室に運んできました。でかい書類キャビネットぐらいの大きさで、定格電源が1.5kwなので、コンセントから取れないと言う事で相談したら、有り難い事に大学側が電気屋さんを呼んで対応してくれました。
この時分のミニコンと言っても、図体がでかいだけで、処理能力は当時人気だったマイコン、TRS80より低いかも知れませんし、ともかく詳細は不明です。
それよりもまず、動かない、まずどうやって動かして良いのか判らない。ASR33が付いていたかどうか憶えていませんが(現在に至ってまでこの型番を覚えている事において、多分隣にあってASR33で操作したのでしょう。当時でも既に古典的な機器の筈です、以後見た事無いと思うし)、OS(らしきモノ)が紙テープで付属していまして、そもそもこれも読み込めない。
展示1、2日は置いておくだけだった気がしますが、そんな日の夕方、米田先生が大学祭の展示を訪ねていらっしゃいました。昨年まで大学にいらして、今は東大に移られたその方面ではとても有名な先生です(私でも知っていたくらいですから)。このミニコンは、先生が大学にいらしたときに、ご自分で使って居た物らしいです。
先生、いらっしゃると、いきなり紙に16進を書き始めました、長さは違いますが全く今回のマンガのようです。どのくらい書かれたか良く憶えていませんが、先輩に渡して、これ入力してみて、と言います。部長の先輩は、フロントパネルのビットキーとペチペチやって、該当の16進数をいれて、エンターキーを押す。それをずいぶん繰り返して全部のコードを入れ終えました。でも、紙テープを読みにいかない、動かない、、。
動きませんと先輩が言うと、先生は、「ほんとにちゃんと入れました?」と言う事で、先輩が入力データを頭からチェック。ここ間違えていました、と言う事で訂正すると、今度は、ピューっと紙テープを読み込んで動いた事が判りました。先生が書いたのはブートローダーだと思うのですが、幾ら昨年まで手元にあったミニコンとは言え、そらで16進プログラム書いて動かすなんて、もう「すげぇ!」の一言です。目の前で見ると本当に驚きでした。
確かに当時はアセンブラでプログラムを書く事も結構有りまして、私もその後、6809でしたら少し書いてましたし、もう少し後には、詳細は内緒なのですが09の逆アセンブルしたコードを色々解析した事もあります。その結果、バイナリエディタ等で、直接16進を変更した事も有りますが、コマンドに対応するコードを覚えていたのはnop(ノーオペレーション)くらいですね。先生は多分、そのミニコンのアセンブラコードを全部覚えていたのでしょう。16進コードがそのままアセンブラプログラムに見えたのだと思います。当時としては決して不思議な事では無いかも知れませんが、それにしても、初めて目の前で見た学生には、あまりにも衝撃的で、また40年経っても忘れる事の無い印象的な光景でした。