i8080 NOPに対応

投稿日: Mar 20, 2017 3:25:35 PM

NOP

最初は意図せず出来てしまった命令と聞きます。

しかしwait処理するためになくてはならない重要な子です。

i8080エミュレータではNOPをどう処理するか悩んでスルーしていましたがようやく対応しました。

AVRのビルトイン関数で処理。

パリティビット算出にもビルトイン関数使ってますね。便利便利。

(パリティビット算出はgccのビルトイン関数で AVRのNOPはavrgccのビルトイン関数です ややこしいね)

ということなので、16MHzの場合は62.5nsのウェイトがかかります。

実際はあちこち行ったり来たりするのでもう少し長めのウェイトがかかるはずです。

まあ、厳密な速度を求めるような内容にエミュレータを使うというのはお門違いと思いますので。

これはこれ。

でも近いうちに1msを待つためにはどうしたらいいのかというコードくらいはサンプルで作っておきたいですね。

さて、c8aには及ばないもののi8080エミュレータ、なかなか整ってきたのでレポジトリを公開

今はまだGPIOに対してデジタルのIN/OUTすることしか出来ませんが、c8aで一度やってる内容なのですぐに同じくらいは実装できるんじゃないでしょうかね?