先日、「NOP命令が作られた日」という内容を掲載しました。
そちらの記事にも書いてありますが、1年ほど前に書いた記事にゆかりの日に、概要をまとめて再掲載したもの。
しかし、ありがたいことに多くの方に読んでもらいました。
面白がってくれた人が Twitter でリツイートしてくれて、1日で100RTくらい行ったの。
その結果、元記事を書いて1年たっても情報提供がなかったのに、「IBM 704 に NOP あるよ」という有用情報が寄せられました。
調査したら本当で、もっと深いことがいろいろ見えてきました。
というわけで、訂正記事を書きました。
704 よりもっと前にさかのぼり、それでもちゃんと NOP は意味のある命令でした。
(動作は「何もしない」だけど、作られた理由が明確)
今回の話では、「自己書き換えプログラム」「10進法(BCD)コンピューター」「パンチカード集計機」「無条件分岐命令」あたりがカギでした。
いや、ほとんど古代の遺物のような技術で、これらが結びついたら NOP が出来上がった、というのが目からウロコ。
前回記事を読んで面白いと思ってくれた人なら、今度の記事もお楽しみいただけるかと思います。
一方、前回記事が面白くなかった人は、今度の記事もつまらないかと (^^;;
前回記事もそうだったのですが、少ない手がかりを元に真実を探り当てる、歴史推理小説のようなつもり…で書いてます。
ある程度の前提知識が必要ですが、余りにも一般的でない知識についてはその都度解説しています。
NOP 命令の話なので、少なくとも「プログラムすること」を理解しているのは前提。
出来れば機械語の知識もほしい。
かなりマニアなプログラマーでないと読めない推理小説ですね (^^;
#でも、プログラマーは推理小説好きだと思う。
…と、気を持たせるだけ持たせておいて、詳細は訂正記事に譲ります。
この後は、多くの方が読んでくれたので、反響に返事をします。
(別に僕宛てに送ってなくても、ツイートしてたの見つけたのを含む)
いちいち許可取るの面倒だから、文面はコピーせずに概要だけね。
「読みやすくて面白い」
ありがとうございます。最高の褒め言葉です。
また記事書こうと励みになります。
「読みにくい」
申し訳ありません。精進いたします。
しかし、たぶん文章が読みにくいのではなく、内容が理解しづらいのだと思います。
技術系の話題なので、理解にはそれなりの前提知識を必要とします。
「アセンブラわかる人ってそんなに少ないもんかな?」
僕は非常に少ないと思っています。経験則上。
20年前はゲーム会社にいたので、アセンブラ出来ないとロクなもの作れないだろう…とおもうのですが、実際アセンブラわからないプログラマが半分くらいはいましたよ。
ちなみに、普段の仕事はすでに C で十分でした。アセンブラ必須ではない。
でも、ゲームで繊細な動きを作れる人は、やはりアセンブラレベルまで理解できている人でした。
ゲーム会社でそれなのだから、普通に考えたらもう絶望的。
「μコードに似てる」
いや、全くその通りです。呑み込みが早い。
TX-0 のベースとなった Whirlwind I は、μコードを最初に考案したマシンで、TX-0 は簡略化のために、μコードを直接使ってプログラムするような形式でした。
「0の発見に通じるものがある」
こちらも呑み込みが早い。
先日書いた日記には書いてませんが、元記事のまとめにはそういう表現を使いました。
僕がそう感じていたので、記事全体がそういうことを匂わす流れになっているとは思います。
「妻に理解を求めるのが一番ハードル高い」
あー、妻すら理解してくれない、と書いたからね。
世間一般的には、夫の趣味を理解しない妻(もしくはその逆)という構図は多いのですが、うちは幸いその点は大丈夫。
趣味に理解はあります。
妻もプログラムできるし(PHP / Javascript を少し、という程度)、古いコンピューターも理解してる。
(妻が PC 始めたのは MacOS 7 / Windows 3.1 以降だけど、8bit 時代の雰囲気くらいは理解してる)
ただ、アセンブラレベルになると理解が難しいし、ましてやμコードを直接駆動するような TX-0 の話は理解できない。
直接対話で説明できる妻であっても理解させることは難しいのに、ましてや文章でどれだけの人に伝わるか…
という意味合いでした。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |