MYマイコンを作る(14) 
           命令検証2


 MYマイコンComet2eの命令基本機能を調べるプログラムで動かしてModelSimでシミュレーションして、得られた波形で評価します。

 評価プログラムを実行しているといろいろな不具合が出てきました。
 例えば、CALLしてRETするとプログラムにないNOP命令が実行されました。ModelSimでシミュレーションした波形を調べてみると、CALL命令でプログラムレジスタをスタックポインタに書き込む値が一つ少ないのです。
 ハードウエアを節約する為プログラムレジスタとメモリのデータ入力のパスを無くし、ALU経由でメモリに転送していた為に値が一つ少なかったのです。仕方がないので、ALUを経由するとき+1する様に定数を追加しました。

 この様な間違いがあちらこちらの有りました。訂正内容をあげませんのでその時のバージョンを使って下さい。


●プログラム「Soft21_LdSft1」
 シフト命令の基本機能を調べます。

 コード波形をここに置きます。


●プログラム「Soft25_PushPop1」
 プッシュ、ポップ命令の基本機能を調べます。

 コード波形をここに置きます。


●プログラム「Soft26_CallRet1」
 コール、リターン命令の基本機能を調べます。

 コード波形をここに置きます。





ホームへ戻る