1. にゃおのリテラシーを考えるラジオ
  2. #020 【ITむかし話】ハン..

にゃおの考える現代の基礎的なリテラシーは、ITをきちんと使えることが含まれます。そのためにどのような問題があり、どう解決していったらよいか考えてみるPodcastです。

40年ほど前、パーソナルコンピュータの世界にハンドヘルドコンピュータというジャンルがありました。

僕がコンピュータへの理解を深めることになったこのHC-20という機種で学んだアセンブラとマシン語のことについて話します。

「読書と編集」の活動は、
https://www.nyaos.net/

をご覧ください。

00:09
にゃおのリテラシーを考えるラジオ、読書と編集の千葉直樹です。
このチャンネルでは、読書とIT時代の読み書きソロ版を中心に様々な話をしています。
今回は、ハンドヘルドコンピューターの話、その2回目です。
ベーシックってやっぱり遅いんですよね、インタープルギターですからね。 本当にすごく遅いんです。
その遅さっていうのを知るきっかけになった出来事が一つありました。
コンピューターの中身に興味を持っていった時に、インタープルギターとかいうものの他に、言語の中にはコンパイラーっていうのがあるってことを知るわけですね、途中で。
僕たちが手に入れられるパソコンっていうやつはコンパイラーなんて入ってなくて、インタープルギター、ベーシックインタープルギターが動くだけみたいなところがあったんですね。
そこにコンパイラー言語っていうのがあるらしいぞ、みたいなことをちょっと知るわけです。
雑誌とかね、本とか、今インターネットもないですから、だからそういうので調べていって、そんなのあるんだ。
大きいコンピューターを使う時には、もちろんそういうコンパイラー言語が使われてたわけです。
コンパイラー言語があって、次にインタープルギター言語があるみたいなところがあったし、
最初の頃の大型コンピューターって基本的に一人で専用して使えるなんていうものじゃなかったので、パッチ処理しかないですしね。
コンパイラーでコンパイルしたものを実行しますみたいなところがあったわけですよね。
それがパーソナルコンピューターっていう分野が出てきて、それの中で自分一人でプログラミングするっていうことができるようになったから、インタープルギターが使えるようになりました、みたいなところがあるわけで。
だからパソコンにはインタープルギターが動くというのは当たり前だったような感じだったんです。
でもね、大きいコンピューターに憧れがあるわけですよ。目の前にないわけだからね。
僕が学生の頃にちょっと大きいコンピューターに触れることができるようになって、おーすげーって思って、そこから就職する会社を選ぶようなことになったわけなんですけど、コンパイラーってのがあるんだ。
コンパイラーがあって、コンパイラーって何なんだって調べてたら、まあ要はプログラムを実行する形式に置き換えるソースコードをね、そういうものなんだってことがわかってきて、
実行する形式って何なのって見ていったら、マシン語のレベルで動かせる、動かすことができるプログラムを作れるんだって話だったんですね。
ベーシックはインタープリーターなんで、逐次翻訳って言い方が正しいかどうかわかんないんだけど、ぐるぐる回ってるね、翻訳のループの中でプログラムを動いていくっていう形になりますよね。
だからまあまあ遅いんです。いちいちね、ソースコードを解釈しながら実行していくわけなんで、遅いんですよ。
コンパイラーってのは、一括して実行できるようにね、マシン語に本当に置き換えちゃって、実行するときはマシン語を実行するだけってことになるので、まあ桁違いに早くなるわけです。
03:07
そっか、マシン語ってあるんだ。一番最初に言いましたけど、CPUが6301だとかね、その辺の話になってきて、
当時の雑誌に6301の命令コードセットみたいなの書かれていて、こんな風に命令コード書くんだ、アセンブラで書くんだ、マシン語ってこうやって書くんだみたいな感じでどんどん勉強していって、
マシン語書くんだったらアセンブラか、アセンブラいるよねとかっていうことになったんですね。
まずコンパイラーを手に入れるって言ったらすごくお金かかるものだったので、それは無理だったから、まずマシン語を動かしてみよう。
マシン語を動かすのって、こういうパソコンって電源入れたらベーシックのインタープリターが立ち上がってくるんですけど、そこからモニターっていうモードに落とすことができるようになっていて、
そのモニターっていうところで、メモリに直接マシン語を書き込んで、そこのある指定のアドレスから実行するみたいなことができるような仕組みがありました。
デバッグとかもできるんですけど、そういうモニターのモードっていうのがあって、そこで実際にこう自分でマシン語をポチポチ打ってみて、
マシン語というか、アセンブラーを打てるのかな?アセンブラーっぽいものを打って、それをそこのアドレスから実行するみたいなことをやってみていました。
でもね、完璧なアセンブラーじゃなかったので、アセンブラーが欲しくなったんですね。アセンブラーって、要はアセンブル言語っていう、
ニーモニックっていうね、ちょっとマシン語より覚えやすいコードになっているソース、プログラムを書いて、それをアセンブラーっていうのにかけて、マシン語を出す。
簡単な翻訳ができるものになるということなんですけど、それを使ってやると、マシン語そのまま書くのって、数字しか書けないですからね。
数字書いてくるのはさすがにプログラミングが辛いので、ニーモニックを使ったアセンブラーを使いたいということでやり始めたんです。
そしたらね、その中に、ベーシックで書かれたアセンブラーっていうのが出てきたんですね。
これ、HC20の雑誌、ソフトバンクのOHCだったと思うんですけど、その中にアセンブラーのソースコードが出てきたんです。
ベーシックで、ベーシックでね、アセンブラーのソースコードを読んでマシン語を出すっていうね、そういうプログラムだったんですね。
何言ってるかわかんない人もいるかもしれないですけど、アセンブラーとかマシン語ってそれぞれデータですからね。
入力側も出力側、入力側たまたまアセンブラーのソースコードで、出力側がマシン語だっていうだけの話なんで、それをそういう変換をするベーシックのプログラムを誰かが書いてくれてたってわけですよね。
今はね、ハードディスクとかありますけど、このHC20ではもちろんね、あるのってテープだ、マイクロカセットのテープだけなんですけど、これをね駆使してアセンブルしてくれる言語っていうかアセンブラーだったんですね。
06:14
ソースコードはエディターがないので、何を使うかというと、ベーシックインタープリターってエディターモードがあるわけですけど、そのエディターモードでアセンブラーのソースを書いていきます。
ベーシックのプログラムとしてしか認識してくれないんですね、ベーシックのエディターモードって。だから全部コメントで書くんですね。
ベーシックのコメントとしてアセンブラー言語を書いていくっていうね、そういう書き方をするんです。
プログラムを実行すると書いたアセンブルのコードの部分をベーシックで読み込んでいって、それをテープの方に、
マシンに変換したものをテープの方に書き込んでくれるような感じの仕組みだったと思います。
なんかね、これが何パスかあってテープは何回も巻き戻ったりとかしてやってたような記憶があるんですけど、
一応そういうことで、遅いんだけどテープもあったりしますからね。すごく遅いんですよ、アセンブルすること自体が。
ちょっとしたプログラム作っても、何分もかかる、何十分もかかるみたいな感じだったのに、
とにかくマシン語が出てくるということがね、すごいところになりました。
ベーシックでアセンブラーが多くっていうことになって、次にもっと面白いことが出てきたんですね。
アセンブラーのプログラムがアセンブラーで書かれた。よくわかんないかもしれないですけど、とにかくマシン語で動くアセンブラーが手に入るんですよ。
それがあればね。でもマシン語そのものっていうわけじゃなくて、アセンブラー言語で書かれたアセンブラーっていうのがあったわけですよ。
ってことは何ができるかというと、そのアセンブラー言語で書かれている
アセンブラーのソースコードをさっきのベーシックのアセンブラーにかけてあげれば、マシン語のアセンブラーが手に入るってことですよね。
わけわかんないかもしれないですけど、そういうことなんです。さっきね、ベーシックのアセンブラーって遅いって話したじゃないですか。
本当にね、ちょっとしたプログラムをアセンブルするのに30分とか40分とかかかるのは当たり前だったんです。
マシン語になったらすごく早く実行されるんだけど、今持っているのはベーシックで動く遅いアセンブラー。
それに、アセンブラーで書かれたアセンブラーのプログラムをアセンブルして、
何だろう、早口の言葉みたいですけど、そうするとね、マシン語のアセンブラーになるわけです。
マシン語のアセンブラーになったところで、同じようにね、もともとアセンブル言語で書かれていたものをそのマシン語のアセンブラー手に入ったからそれにかけてみたんですよ。
そしたら、エンターキーを押したらもうすぐ終わっちゃったぐらい。
すぐ終わったんです。最初ね、あれこれ、当時はね自分で手で打ってましたから、これバグっているのかなって思ったんですよ。
09:03
でもね、ちゃんと問題なく動いてあるんです。 40分とか50分とかかかるやつがマシン語になると一瞬経ったということを体験したわけですね。
それからCPUの方、どんな風になっているんだろうということにすごく興味を持って調べるようになって、コンピューターの世界っていうのがどんどん広がってきたというか、
そういうことをやることで、今はねOSとか使ってて隠蔽されている世界っていうのがいっぱいあって見えないと思うんですけど、
ハードウェアに近いところの仕組みっていうのを勉強してきたのが僕のソフトウェアの世界の広がり方だったような気がします。
だからねこのHC-20っていうマシンはすごく思い入れがあって、今どっかに多分物置とかに入っているのかもしれないんだけど引っ張り出してきて磨いておきたいなって思うぐらいのマシンになっています。
ハンドヘルドコンピューターっていう分野ね、今はもうないですよねノートパソコンとかね。 今Macとかだって薄いじゃないですかMacBookとかね。
あんなのじゃなくてもう本当にごっついハンドヘルドなんだけど持って歩けるようになったっていうのがもう40年近く前の話ですけど、すごく嬉しかったというお話を今日はしました。
聞きやすい話ではなかったと思うんですね。 センブラのセンブラのセンブラなんてわからないこと言いましたけど、でもたまにねこういう
その場で話すっていうことをやって、 ポッドキャストで配信するみたいなこともやってみようと思ったので
日頃のねあの1分2分のやつっていうのもいいんですけど こういう長い話
好きな人嫌いな人いると思うんですけど撮っておいておきたいなと思っています。 このポッドキャストではね僕は読書と編集っていう
野望で仕事をしていて ITに関する読み書きソロ版、ITを使った読み書きソロ版を当たり前の読み書きソロ版にしたいっていう
活動をしているんです その中でこのポッドキャストを使って毎日になるかどうかわかんないけどできるだけ頻度
高く2,3分の話でそういうリテラシーな話をしたいなというふうに思ってるんですけど その他に今回みたいな昔話みたいなちょっと長くするみたいなこともやってみたいなと思っていて
話し方勉強してるんだけどあんまり上手じゃないので聞きにくいところいっぱいあると思うん ですけど
まあちょっとね楽しまれる方がいたらいいなと思うので昔の話をこうやって録音して配信してみる ということをやってみたいなと思っています
はいちょっとダラダラと話しましたけどこんなところで今回は締めたいと思います 読書と編集では ITを特別なものではなく常識的なリテラシーとして広める活動を
しています 詳しい内容については概要欄のリンクからまたは読書と編集と検索して
猫がトップページに出てくるホームページをご覧ください それではまた
12:10

コメント

スクロール