注意:プログラムソースの最初の .TITLE
行に指定するプログラム名に
'-'
などの記号を含めるとエラーとなる場合がある。
プログラム名に使う文字はアルファベットまた数字にしておく方がよい。
※スクリーンショットでは masm32となっているが、masmと読み替えること。
Z:\m1simの下にある masm.exeをダブルクリックする。
(注:エクスプローラの設定でファイル拡張子を表示していない場合は、
masmと表示されている)
以下のようなウィンドウが開く。
ファイル名の入力を要求してくるので、ソースファイルの名前を入力する。
(例では、"ex1"と入力している)
次に、出力ファイルの選択を要求してくるので、"mos"と入力する。
(ニーモニックリストとオブジェクトコードとリストファイルの3つのファイル
を生成するという意味である)
アセンブルを開始するかどうかを聞いてくるので、"y"と入力する。
アセンブル作業が開始され、ソースコードに間違いがなければ、
"NORMAL TERMINATION!"と表示される。
ここで、別のファイルをアセンブルするかどうか聞かれるので、"y"か
"n"を入力する。
(終了してよければ"n"を入力する)
正常でアセンブルされていれば、".m"と".o"と".s"の
拡張子のついたファイルが1つずつ生成されている。
(例では、"ex1.m"と"ex1.o"と"ex1.s"のファイルが生成されている)
".m"のファイルはニーモニックリストファイルで、
".o"のファイルがマイクロプログラムのオブジェクトコードファイル、
".s"のファイルがリストファイルである。
ソースコードに(文法上の)間違いがあれば、
"ERROR OCCURRED IN ASSEMBLE-TIME!"と表示される。
エラーが発生した場合は、ソースコードを確認し、再度アセンブル作業を行なう。
例えば、次のようなソースコードをアセンブルすると
.TITLE EX1 *EX1: 100 R3 := R1 C-1 * SET HLT .END
以下のようなニーモニックリストファイル(.m)と
.TITLE EX1 LABEL ADRS LB RB AL SH SB MM SQ TS EX LT EX1 100 R1L NRB NAL NSH R3S NMM NSQ NTS CM1 000 101 NLB NRB NAL NSH NSB NMM NSQ NTS HLT 000
以下のような内容のオブジェクトコードファイル(.o)と
CM EX1 100 1FFCFFE000 101 FFFFFFFA00
以下のような内容のリストファイル(.s)とが生成される。
.TITLE EX1 *EX1: 100 R3 := R1 C-1 * SET HLT .END THERE WAS NO ERROR IN ASSEMBLE.
エラーが発生した場合は、リストファイル(.sファイル)内に
エラーの発生箇所が示されているので、修正のヒントにする。
.TITLE EX1 *EX1: 100 R3 := R9 ERROR 11:ILLEGAL EXPRESSION OR ASSIGNMENT. C-10 * SET HALT ERROR 13:ILLEGAL EXCEPTION STATEMENT. .END ERROR 3:END OF MICRO_INSTRUCTION MUST BE ";" OR END OF LINE. ERROR 16:ILLEGAL FORMAT OF INSTRUCTION HEADING OR UNKNOWN STATEMENT.
※ 教科書のp.67にもアセンブルの手順が説明されているので、そちらも参照
すること。