Home > アーカイブ > 2020-10

2020-10

第15回:仕事から得るもの

こんにちは、宮元です。

ACOSでアセンブルしてどうして8080Aで動く機械語プログラムに変換できるのかという疑問を解決しなければいけなかったのですが、スケジュールどおりにプログラムを完成させるのが優先で、それは後回しにしていました。

かつては「コンピューターダイジェスト」という名前の月刊誌があって、いろいろな新聞からコンピューターに関係した記事だけを抜き出して雑誌にしたものでした。入社当時は情報だけでも頭に入れておかなくてはと思って購読していました。
あるとき、その記事の中に”クロスコンパイラー”という言葉を見かけ、「あれっ、どこかで読んだぞ!」 今だとネットで検索すればすぐに分かることですが、当時はそんなものはありません。探し回った結果、情報処理技術者試験の参考書に書いてありました。初めて読んだときにしっかり理解していたら、今回の疑問はたやすく解けたのですが・・・・

二つのコンピューターAとBがあるとします。コンピューターAを使って、FORTRAN(フォートラン)言語で書いたプログラムを普通のFORTRANコンパイラーで翻訳すると、翻訳してできる機械語プログラムはコンピューターA用です。コンピューターAでしか動きません。

ところがこのとき、普通のFORTRANコンパイラーではなくて”クロスFORTRANコンパーラー”を使うと、A自身ではなくコンピューターB用の機械語プログラムに翻訳できるのです。
「クロスコンパイラーというものがあるんだったら、クロスアセンブラーもあるはずだ。」と考えるのが普通ですね。

実はそのとおりだったんです。アセンブリー言語で書いたソースプログラムを、ただのアセンブラーでアセンブルすると、できる機械語プログラムはACOS用です。ところが、8080A用のクロスアセンブラーでアセンブルすると、ACOSを使っているのに8080A用の機械語プログラムができるのです。

書籍だけで勉強していると、分かったようで分かっていないなと思うことがよくあるのですが、こうやって実務の現場で出くわすと、否が応でも分からされて(?)しまいます。こういうふうに、生きた知識が増える、生きた技術が身に付く。これも仕事から得る喜びです。

Home > アーカイブ > 2020-10

検索
Feeds

Return to page top