機械語モニタ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
シングルボードコンピュータW65C816Sの機械語モニタ。逆アセンブルしたコード、レジスタ、メモリダンプなどを表示。
Apple IIの機械語モニタ。6502のもの。

機械語モニタ(きかいごモニタ、: Machine code monitor, Machine language monitor)は、コンピュータとして最低限の機能、たとえば主記憶-補助記憶装置間の内容のロード/ストア、任意のメモリアドレスの内容の参照や更新、あるいは指定したメモリアドレスから機械語プログラムを実行する、などといった機能を持つコンピュータプログラムファームウェアないし基本的なシステムソフトウェアとして提供される。

機械語モニタは1970年代や1980年代前半のマイコンマイクロコンピュータ)やホビーパソコンen:Home computer)の時代に広く使われたものである。一部の機械語モニタは1ステップづつ機械語を実行するという機能(つまり原始的なデバッガのような機能)を持たせるようになり、やがて機能が足されてゆきデバッガ、またアセンブラや逆アセンブラなどの機能も加えることも行われたが、1980年代に、マイコンよりも複雑化・高度化したパーソナルコンピュータが一般化してゆき、デバッガ・アセンブラ・逆アセンブラなどがそれぞれ高機能化し単体のソフトウェアとなってゆくにつれ、機械語モニタのほうは使われる頻度が減っていった。現代では機械語モニタが使われる状況は、組み込みシステムEFIなどできわめてハードウェア寄りの操作をする時など、かなり限られている。現代では、ハードウェア寄りの一部の技術者が使用することはあるが、一般のコンピュータユーザが直接使うことは無い。

1970年代や1980年代前半に一般的だった機械語モニタのありふれた使用法は、たとえば機械語プログラムのデバッグのために使うことであり、開始と停止のメモリアドレスをユーザが入力・指定して機械語プログラムを実行させる。指定した停止アドレスに達した段階でプログラムの実行が停止し、制御をユーザに戻し、ユーザの次の入力を待つ状態になる、というものである。

歴史

1970年代のコンピュータではROM(Read Only Memory)には機械語モニタしか書かれていないものもあった。

それより高度化したBASICを搭載したコンピュータでは、ローレベルの処理を行う際にBASIC側から内部的に機械語モニタを呼び出すしくみになっていることもあった。その後ROM-BASICDISK-BASICが標準装備されるコンピュータが登場し、電源を入れるといきなりBASICのモードでマシンが起動するようになっても、「MONコマンド」等を入力すれば機械語モニタを使うことができた。

なおシャープのMZ-80のような「クリーン設計」の機種では、システムの自由度を極限まで高めるために、機械語モニタはROMに書き込まれていなかった。本体ROMに書き込まれているのはもっと素朴なIPL(イニシャル・プログラム・ローダー Initial Program Loader)だけで、機械語モニタも補助記憶装置(データレコーダなど)からRAMに読み込まれる方式になっていた[1]

高機能な機械語モニタは、簡易デバッガとしても機能し、絶対アドレス指定方式のアセンブラ逆アセンブラの機能も備えていた。例えば、i8086を搭載したPC-9801N88-DISK BASIC(86)(1982年 - )の機械語モニタでは、アセンブラと逆アセンブラを備えていた[2]。この時代、機械語モニタだけでプログラミングを行うこともそう珍しいことではなかった。

以後のパーソナルコンピュータでは、デバッガアセンブラ逆アセンブラはそれぞれの高機能化し便利になり、低機能で作業効率の悪い機械語モニタを使わずに済むようになった。

現代では、組み込みシステムの開発用ターゲット環境のファームウェアや、EFIのコマンド環境・Open Firmwareなど、開発目的等のローレベルにハードウェアを制御する必要がある場合に使用は限られている。

脚注[編集]

[脚注の使い方]
  1. ^ [1]
  2. ^ 岡村 秀一郎 『PC-9801E/F/M キーボード・CRT/モニタ 解析マニュアル[第2巻]』秀和システムトレーディング株式会社、1984年11月18日、p63-66,p123-135,p153-173頁。