i8080エミュレータの作成(5)

投稿日: Mar 15, 2017 12:15:43 PM

0x00~

(4)まででi8080のOPCodeの1/2を実装出来ましたのであと残るは半分です。

※ACフラグの件はZ80実機に動作を合わせることにしました。キャリーとボローでフラグが立つという表記もみつけたので。(Z80実機で試してくれたDragonBallEZさんにも感謝)

とはいっても今までのMOVとか演算に比べるとコードの量がグッと増えてきます(はずです)ので気合を入れて行きます。

まずはオーバービュー的に組みます。

こんな感じになります。

今回はOPCodeのビット、00 AAA BBB、先頭2bitが00で、処理を分けるのはBBBの部分。

BBBが0x0のOPCodeは全部NOPなのでbreakして終わり。これで8命令出来ました(

命令がそれなりにあるのもそうなんですが、ここら辺から考慮に入れていかないと行けないのがマルチバイト命令とかクロックの存在。とくにNOPとかはウェイト目的で使ったりする事も多いのでクロックが考慮されてないと問題にもなりそうですし。

今まで実装してきたのは1バイトで完結する命令だけだったのであんまり苦労しませんでしたがここからは複数バイトを参照する命令がぽつぽつ入ってきます、それに従ってリトルエンディアンのこととかも忘れちゃダメですね。

まあ、あまり気負わずいきまっしょい。