次に設計するのは最も難しい命令デコーダです。いきなり図が書けないので仕様を整理していきます。
リセット後、ROMの0000Hから実行される。
RAMにもプログラムを置けるので命令レジスタにロードする時に切り替えがある。
クロックごとにカウンターがアップされ次の命令が実行される。
命令長は8ビットまたは16ビットがあるのでメモリから読み出した後命令かデータか区別しなければならない。
なので
リセット
初期状態なので命令はROMからロードする
ROMの0000Hから命令レジスタにコマンドをロード
8ビット命令か16ビット命令か判定する
8ビット命令の時、次のクロックに移る
16ビット命令の時、次のクロックはデータとして処理し、その次は命令とする