Z80のRレジスタについて
カテゴリー:
Universal MonitorのZ80版にR(egister)コマンド実装していてRレジスタの挙動について誤解していたことがわかりました。そこで今回はZ80のRレジスタについて書いてみることにします。
今さら役に立つ機会なんて無いでしょうけどね。
これまでのRレジスタについての理解はざっとこんなところでした。
- リフレッシュアドレスは7ビットなので7ビットのレジスタ(最上位ビットは常に0)
- 1命令実行のたびにインクリメントされる
LD A,R
,LD R,A
命令で値の出し入れができる
はっきり言ってあまり使い道はありません。ゲームなどの簡易乱数発生器として使うか、プロテクトのチェッカルーチンで解析妨害のために使うくらいしか思いつきません。あとは同じ値を代入し続けてソフト的にリフレッシュ動作を不全にするくらいでしょうか。
普通なら無かったことにしても構わないレジスタなのですが...