マイクロアセンブラの使い方

マイクロプログラムのアセンブル方法

マイクロプログラムのアセンブリコードを記述したファイル (以下、ソースファイルと呼ぶ)をZ:\m1simの下に置く。
(ここでは説明の都合上、"ex1"という名前とする)

注意:プログラムソースの最初の .TITLE行に指定するプログラム名に '-'などの記号を含めるとエラーとなる場合がある。
プログラム名に使う文字はアルファベットまた数字にしておく方がよい。

m1simフォルダの図

Z:\m1simの下にある masm32.exeをダブルクリックする。
(注:エクスプローラの設定でファイル拡張子を表示していない場合は、 masm32と表示されている)
以下のようなウィンドウが開く。

masm32の起動直後画面

ファイル名の入力を要求してくるので、ソースファイルの名前を入力する。
(例では、"ex1"と入力している)

masm32 ファイル名入力

次に、出力ファイルの選択を要求してくるので、"mos"と入力する。
(ニーモニックリストとオブジェクトコードとリストファイルの3つのファイル を生成するという意味である)

masm32 オプション入力

アセンブルを開始するかどうかを聞いてくるので、"y"と入力する。
アセンブル作業が開始され、ソースコードに間違いがなければ、 "NORMAL TERMINATION!"と表示される。

masm32 正常終了

ここで、別のファイルをアセンブルするかどうか聞かれるので、"y""n"を入力する。
(終了してよければ"n"を入力する)

正常でアセンブルされていれば、".m"".o"".s"の 拡張子のついたファイルが1つずつ生成されている。
(例では、"ex1.m""ex1.o""ex1.s"のファイルが生成されている)

m1simフォルダの図その2

".m"のファイルはニーモニックリストファイルで、 ".o"のファイルがマイクロプログラムのオブジェクトコードファイル、 ".s"のファイルがリストファイルである。

ソースコードに(文法上の)間違いがあれば、 "ERROR OCCURRED IN ASSEMBLE-TIME!"と表示される。
エラーが発生した場合は、ソースコードを確認し、再度アセンブル作業を行なう。

masm32 エラー終了

例えば、次のようなソースコードをアセンブルすると

	.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にもアセンブルの手順が説明されているので、そちらも参照 すること。


文責:大津