ELC命令セット・アーキテクチャのエミュレータ
Emulator for ELC Instruction Set Architecture.
ELCのISAを実行するエミュレータをC++で作成しました。
作成中に気がついたバグがあること。良くないコーディングでリファクタリングが必要こと。実装できていない命令が有るなど、まだ、公開は無理なベータ版ですが、下記のようなテストプログラムを開発環境で実行してみました。
ELCエミュレータ実行ファイル形式。
レジスタ演算命令のみで、セグメントを使わず1~10まで加算します。
汎用レジスタR0, R1, R2を利用します。
R0に1を代入、R1に2を代入します。R2にR0+R1の値を代入します。
R1の値をインクリメントします。インクリメントした値を再びR2に加算します。
上記の手順を8回繰り返すと1~10まで加算したことになります。最後にプログラムの先頭アドレスに無条件ジャンプさせます。デバッガーで止めるためです。
上記のプログラムをハンドアセンブルで次のようなバイナリファイルにします。
ELCエミュレータ実行結果。
実行した結果、レジスタ演算命令と無条件ジャンプ命令は旨く動いているようです。
以上
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。