「MASM」って何の略でしょうか?答えは「マクロアセンブラ」。新入社員の時に泣かされました。

こんにちわ。

ぼくが新入社員の時に、結構自分のワガママを通させてもらって、パソコンでのプログラム開発、特にBASICでの開発をさせてもらったことを書きましたが、当時よく担当していたシステムの分野は、FA(ファクトリーオートメーション)ってやつでした。

この分野のシステムって、キーボード入力やパンチ入力、画面表示やプリンター出力だけではなく、機器との通信や、機器へのコマンド送信などが結構あります。

そういった部分は、BASICなどの高水準言語ですべてのプログラムを書くことは、できませんので、別の言語を使って開発することが多かったです。

そして当時、そのことはぼくをとっても悩ませて、泣きそうになるほど苦労したのが「MASM」を使っての開発でした。

スポンサーリンク
スポンサーリンク




MASMとは何ぞや?

MASMはMicrosoft Macro Assemblerの略です。

x86系マイクロプロセッサ用のアセンブラで、マイクロソフトがMS-DOS上の開発のために製造し、DOS上では最も普及したアセンブラでした。

びっくりすることに、今でもマイクロソフト製品の中にMASMがあって開発が継続されているそうですよ。

マクロアセンブラですが、アセンブリ言語によるプログラムの開発効率を上げるために、マクロ機能などを追加したアセンブラのことです。

マクロ機能を活用することで、例えば、同じコードがプログラムの中の複数の個所で繰り返し呼び出されるような場合に、マクロ名を与えることで、プログラムが簡潔となり、ソースコードの可読性を向上することができます。

また、本来のアセンブラには機能がないループ構造のようなプログラムの制御構造を記述しやすくする機能、条件によって生成するコードを変えることができる条件付きアセンブル機能などの機能拡張などを実現しているものもあります。

MASMでも豊富なマクロと高水準な繰返し構造、手続き呼び出しなどの構造化プログラミングに対応しています。

アセンブラには泣かされました。

当時、NECのN88BASICと一緒につかっていたのが、NECから販売されていた「NEC Microsoft Macro Assembler」でした。

このプログラム製品が悪いわけではありません。

新入社員だったぼくの理解が追いつかなかったというだけのことです。

プレス機の計測システムでも機器とのインターフェースのコアの部分はアセンブラで書かれていました。

一応、先輩社員の書いたアセンブラを読んで、解析して一部修正して、自分の担当の仕事に当てはめていくのですが、どうも思うように動かないんです。

趣味では、少し機械語もやっていたんですが、業務で使うシステムは結構大きなシステムです。

いくら、マクロで可読性を上げていたといっても、BASICとは雲泥の差、しかも仕様書を先輩社員は作っていなくて、コードを解析するしかない状態。

仕方がないので、ちょっと修正しては動かしてみる、ちょっと修正しては動かしてみるでなんとか解析しました。

社会人になって初めて担当した仕事は、プレス機のデータを計測するものでした。
こんにちわ。 社会人になって、色々会社でも自己アピールを続けた結果、パソコンやパソコンのシステムを提案する部署に配属されました...

その後、携わったロボットの制御盤の通信機能部分もこれまた、一部アセンブラで書いてくれとのこと。

こちらは、前回と異なり先輩社員が作成したサンプルがない。。。

とにかく、仕様書を作ってそれをまた細かい仕様書に分けて細かく書いて。。。アセンブラに落とし込むってことをコツコツとやりました。

新入社員にして、ロボットに関わるシステム開発に参加させてもらえることに喜んだがヌカヨロコビだった話
こんにちわ。 30年以上前、新入社員の時の生活を振り返っています。 新入社員になって、入社前から希望していた通り...

ある程度、アセンブラとそのお作法に慣れるまではほんと、どうなるのかと思って泣きそうになりました。

結局、アセンブラを書いたのは、入社3年目ぐらいまででした。

その後は、自分たちのようなアプリケーションのプログラムを書くようなエンジニアはアセンブラを使う機会はどんどんなくなっていった感じです。

でも、1年目の頃にたくさんのアセンブラを解析して、自分でも書いてみた経験が2年目以降の仕事でも役立ちましたし、その後もいろいろな仕事の場面でアセンブラもやってて良かったなって思うことが何度かありました。

やっぱり、基本を押さえておくことは大事です。

最後までおつきあい、ありがとうございました。

スポンサーリンク
スポンサーリンク




スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする