ELC命令セット・アーキテクチャのエミュレータ

コンピュータ関連記事, 現在の記事

Emulator for ELC Instruction Set Architecture.

ELCのISAを実行するエミュレータをC++で作成しました。
作成中に気がついたバグがあること。良くないコーディングでリファクタリングが必要こと。実装できていない命令が有るなど、まだ、公開は無理なベータ版ですが、下記のようなテストプログラムを開発環境で実行してみました。

ELCエミュレータ実行ファイル形式。

ELCエミュレータ実行ファイル形式

レジスタ演算命令のみで、セグメントを使わず1~10まで加算します。
汎用レジスタR0, R1, R2を利用します。
R0に1を代入、R1に2を代入します。R2にR0+R1の値を代入します。
R1の値をインクリメントします。インクリメントした値を再びR2に加算します。
上記の手順を8回繰り返すと1~10まで加算したことになります。最後にプログラムの先頭アドレスに無条件ジャンプさせます。デバッガーで止めるためです。

TEST.BINプログラム

上記のプログラムをハンドアセンブルで次のようなバイナリファイルにします。

TEST.BINバイナリーファイル

ELCエミュレータ実行結果。

実行した結果、レジスタ演算命令と無条件ジャンプ命令は旨く動いているようです。

以上

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

関連記事一覧