8080アセンブラ付きモニタ取扱説明書  


8080アセンブラ付きモニタは、起動するとまず起動メッセージを表示し、次にプロンプトを兼ねたカレントアドレスを表示します。ここで、下に示すコマンドを受け付けます。コマンドの処理が終わると更新されたカレントアドレスを表示し、次のコマンドを受け付けます。一部のコマンドは改行のみで継続処理します。


コマンド 機能
16進数 カレントアドレスを切り替える
ニーモニック 機械語を入力する(アセンブラ)
LIST 機械語を表示する(逆アセンブラ)
DEFINE メモリに入力する
DUMP メモリを表示する
GOSUB 機械語のサブルーチンを呼び出す
HELP ヘルプを表示する

英字の大文字と小文字は、表示だけ区別され、取り扱いは区別されません。数値はすべて16進数で入力し、そのさい末尾に「h」を付けてはいけません。ニーモニックと区別できない16進数、すなわち、ADC、ADD、CC、DAA、DACは先頭に0を付けてください。入力した文字列が無効だと、確認のため、あらためてその文字列を表示してエラーを知らせます。


8080アセンブラ付きモニタはメモリを図に示すように使います。8000h番地からSP( ダイナミックに移動します)までが自由に使えます。8000h番地未満は読み出しだけができて書き込みができません。FEFCh以上の変数、バッファの領域は、機能的には読み書きともにできますが、書き込まないでください。仮想BDOSにはCP/MのBDOSに似た入出力プログラムがあり ますし、8080アセンブラ付きモニタの本体も有用な関数を内包しています。これらの使いかたはソースやリスティングファイルから読み取ってください。
 


【16進数】
カレントアドレスを切り替えます。カレントアドレスは、機械語を入力したりLISTコマンドやDUMPコマンドを実行したりするとき、初期値として使われ、処理が終わると自動的に更新されます。カレントアドレスはメモリのどのアドレスへも切り替えられますが、7FFFh番地より下位はROMなので、機械語やデータを書き込むコマンドが無効となります。そのさい、エラーは通知されません。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【ニーモニック】
8080のニーモニックで対応する機械語を入力します。いちおう8080アセンブラとして使えます。シンボルやラベルが使えないのでアセンブリ言語とまではいえませんが、端末機でアセンブリ言語ふうのソースを書いて送信できます。そのさい、アセンブリ言語のORGは前述のカレントアドレスを切り替える機能で代替し、DSは、このあと説明するDEFINEコマンドで代替します。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【LISTコマンド】
機械語をニーモニックで表示します。LISTコマンドを実行したあと、改行だけ入力すると、続きを表示します。引数で、開始アドレスか終了アドレス、または両方を指定できます。何も指定しないと、カレントアドレスから16バイト以上あと、機械語の途中にならないよう、キリのいいアドレスまで表示します。このアドレスがFFFFh番地を超えると0000h番地に戻って続ける欠点があります。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【GOSUBコマンド】
機械語のサブルーチンを呼び出します。プログラムのアドレスは引数で指定し、これを省略することはできません。機械語のサブルーチンは、末尾がRET命令か、それに相当する処理で終わっている必要があります。そうでない場合は暴走します。なお、表示例のプログラムを実行するとIBM PC/AT互換機のブザーが1回だけ短くピッと鳴ります。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【DUMPコマンド】
メモリを16バイトずつ読み出し、16進数とASCIIで表示します。表示できないASCIIは「.」になります。DUMPコマンドを実行したあと改行だけ入力すると続きを表示します。引数で、開始アドレスか終了アドレスまたは両方を指定できます。何も指定しないと開始アドレスとしてカレントアドレスが使われます。いずれの場合も表示されるのは指定したアドレスの前後を含む16バイトです。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【DEFINEコマンド】
引数で指定したデータをメモリに入力します。開始アドレスはカレントアドレスと決まっていて、指定できません。したがって、あらかじめ開始アドレスへカレントアドレスを切り替えておく必要があります。データは、16進数か「'」でくくった文字列、または両方で指定します。ただし、英字の小文字は表示と関係なく大文字に変換されてしまう欠点があるため、16進数で指定してください。

画像をクリックすると新規ウィンドウに拡大表示します。
 

【HELPコマンド】
コマンドまたはニーモニックの簡単な説明を表示します。引数を省略するとコマンドの使いかたを表示します。引数でオペコードを指定すると記述できるすべてのオペランドを表示します。

画像をクリックすると新規ウィンドウに拡大表示します。