2012.12.28
前へ
次へ
ホームページトップへ戻る

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第277回]


●アドレスインクリメント回路

説明の前にひとこと。
前回および[第274回]でお見せした回路図に間違いがあることに気が付きましたので訂正いたしました。
WAIT信号の遅延のために74HC32(1)のpin11とpin10の間にRC回路が入れてありますが、そのダイオードの向きが違っておりました。
ともに現在は正しい向きに修正済みの回路図になっています。
前回の説明文と回路図とを見比べていて誤りに気が付きました。
毎日のようにホームページを更新しながら記事を書くのはなかなかにつらい作業なのですが、お蔭でこのように誤りに気づくことも多々あります。
もし皆様に説明するということがなかったとしましたら、おそらく誤りに気づくこともなく過ぎてしまったことと思います。
まことに有難いことです。

さて。
今回はアドレスのインクリメント回路の説明です。
IMSAI8080のアドレスインクリメント機能にはEXAMINE NEXTおよびDEPOSIT NEXTという名前がついていました。
EXAMINEはともかくDEPOSITは私達日本人にはちょっとなじみの薄い言葉です。
examineは「確かめる」、depositは「預ける」などと訳されます。
どちらもピンときません。
そこでY様の発案で、E−80(仮称)ミニコンではREAD NEXT、WRITE NEXTという名称にすることになりました。
アドレスインクリメントを伴わない機能としてはREADおよびWRITEがあります。
READは前回説明しましたアドレスセット&READの機能になります。
つまりパネルスイッチで設定したメモリアドレスをアドレスLEDに表示するとともに、そのアドレスのメモリ内容をデータLEDに表示する機能です。
これに対してWRITEは現在アドレスLEDに表示されているメモリアドレスにデータスイッチ(アドレススイッチの下位8ビット)の値を書き込む動作になります。
そして今回説明をいたしますインクリメントの動作としては、READ NEXTは、現在アドレスLEDに表示されているアドレスを+1したうえで、その+1したアドレスのメモリの値をデータLEDに表示します。
WRITE NEXTは現在アドレスLEDに表示されているメモリアドレスにデータスイッチ(アドレススイッチの下位8ビット)の値を書き込んだあと、アドレス表示を+1して、その+1したアドレスのメモリの値をデータLEDに表示します。
結局WRITE NEXTはデータを書き込んだあとはREAD NEXTと同じ動作になります。

そこでこのNEXTの動作をする回路なのですが、前回のアドレスセットにJP命令を利用するという説明をお読みいただいて、さらに回路図を注意深く見ていただければ、NEXTの動作にはNOP命令(コード00)を利用すればよい、ということに、おそらく容易にお気付きになられたことと思います。

NOP命令はNo Operationつまり何もしないで次のアドレスに進むという命令です。
CPUはこの命令を実行すると、ただ単にアドレスバスの値を+1します。
前回説明しましたのと同様のプロセスで、強制的にデータバスにC3Hを乗せる代わりに00Hを乗せることでメモリインクリメント動作が実行されます。
C3HはデータバスのD2〜D5をダイオードでLにすることで実現しましたが、00HはD0〜D7の全部をダイオードでLにします。
JP命令ではその後に続いてアドレスのL、Hをバスに乗せましたがNOPは1バイトの命令ですから、データバスに00Hを乗せるだけで、その動作は完了してしまいます。
アドレスセットに比べるとアドレスインクリメントの回路、動作はシンプルです。

[第274回]でお見せした回路図のうちREAD NEXTのところだけを抜き出してみました。
この通り、アドレスセット回路に比べますとずっと簡単な回路です。

(2012.12.29 またダイオードの向きが間違っている回路図をアップしてしまいました。上の図は修正済みです)

データバスにダイオードを使って00Hを乗せるところの回路は[第274回]でお見せした回路図3にあります。

このREAD NEXT回路の動作についても、前回のアドレスセット回路の動作と同じようにロジアナで観測してその結果を保存しました。
それもお見せするつもりですが、まだちょっと整理ができていません。
ですので、それは次回にお見せすることにいたします。

ワンボードマイコンでCP/Mを![第277回]
2012.12.28upload
2012.12.29回路図修正

前へ
次へ
ホームページトップへ戻る