※スクリーンショットでは asm32となっているが、asmと読み替えること。
Z:\m1simの下にある asm.exeをダブルクリックすると、
以下のようなウィンドウが開く。
(注:エクスプローラでファイル拡張子を表示しない設定にしている場合は、
asmと表示されている)
ファイル名を聞いてくるので、ソースファイルの名前を入力する。
(例では、"ex1"と入力している)
アセンブル作業が開始され、ソースコードに間違いがなければ、
"NORMAL TERMINATION !"と表示される。
ここで、別のファイルをアセンブルするかどうか聞かれるので、"y"か
"n"を入力する。
(終了してよければ"n"を入力する)
正常にアセンブルされていれば、".a"と".b"の拡張子のついた
ファイルが1つずつ生成されている。
(例では、"ex1.a"と"ex1.b"のファイルが生成されている)
".a"のファイルはリストファイルで、".b"のファイルが機械語
プログラムのオブジェクトコードファイルである。
ソースコードに(文法上の)間違いがあれば、
"ERROR OCCURED IN ASSEMBLE TIME !"と表示される。
エラーが発生した場合は、ソースコードを確認し、再度アセンブル作業を行なう。
例えば、次のようなソースコードをアセンブルすると
TITLE ADSBM ORG 10 L 1,A LEA 2,(1) L 3,B ADD 2,(3) SUB 1,(3) MULT 1,(2) ST 1,C ST 2,C+1 HLT A: DC 4 B: DC 1 C: DS 2 END
以下のようなリスティングファイル(.a)と
TITLE ADSBM ORG 10 0010 9 01 09 L 1,A 0011 A 12 00 LEA 2,(1) 0012 9 03 08 L 3,B 0013 0 32 00 ADD 2,(3) 0014 1 31 00 SUB 1,(3) 0015 6 21 00 MULT 1,(2) 0016 9 11 05 ST 1,C 0017 9 12 05 ST 2,C+1 0018 E 33 00 HLT 0019 0004 A: DC 4 001A 0001 B: DC 1 001B 0000 C: DS 2 001C 0000 END THERE WERE NO ERRORS. LABEL(S) A: 0019 B: 001A C: 001B
以下のような内容のオブジェクトコードファイル(.b)が生成される。
MM ADSBM 0010 9109 0011 A600 0012 9308 0013 0E00 0014 1D00 0015 6900 0016 9505 0017 9605 0018 EF00 0019 0004 001A 0001 001B 0000 001C 0000
エラーが発生した場合は、リスティングファイル(.aファイル)内に
エラーの発生箇所が示されているので、修正のヒントにする。
(左端に "F"が表示されている行に文法上の誤りがある)
TITLE ADSBM F 0000 ORIG 0001 9 01 0A L 1,A 0002 A 12 00 LEA 2,(1) 0003 9 03 09 L 3,B F 0004 ADC F 0005 SBC 0006 6 21 00 MULT 1,(2) F 0007 S F 0008 S 0009 E 33 00 HLT 000A 0004 A: DC 4 000B 0001 B: DC 1 000C 0000 C: DS 2 000D 0000 END THERE WERE 5 ERRORS. LABEL(S) A: 000B B: 000C C: 000D
※ 教科書のp.102にもアセンブルの手順が説明されているので、そちらも参照
すること。