##モデルコンピュータ的な 定義したアセンブリ言語で書かれたプログラムをファイルで渡すと実行するようなモデルコンピュータをC言語で実装したやつです.
-
modelComp.c
asmファイルをコマンドライン引数で渡すとそれを実行します。 -
sum.asm
0が入力されるまで入力データを加算し, データの総和を求めます. -
fact.asm
入力された数字の階乗を計算します.
###アセンブリ言語の定義
命令コード | ||
---|---|---|
*n | n番地からプログラムを格納する | |
L n | LOAD n | n番地の内容ををaccに取り出す |
C m | LOAD CONSTANT m | 定数mをaccに入れる |
T n | STORE n | accの内容をn番地に格納する |
A n | ADD n | accの内容とn番地の内容を足す(結果はacc) |
S n | SUBTRACT n | accの内容からn番地の内容を引く(結果はacc) |
M n | MULTIPLY n | accの内容からn番地の内容をかける(結果はacc) |
D n | DEVIDE n | accの内容をn番地の内容で割った商を求める(結果はacc) |
J n | JUMP n | n番地へ飛ぶ |
Z n | JUMP ZERO n | accの内容が0ならばn番地へ飛ぶ |
R n | READ n | n番地へデータを読み込む |
W n | WRITE n | n番地のデータを書き出す |
H n | HALT n | プログラムの実行を停止する(nは任意) |
/ n | プログラムの物理的な終わりを示し, n番地から実行する | |
* mは定数, nはプログラムエリア内の番地 |