現在地

Z8000セグメントモード対応(その3)


カテゴリー:

前回までで従来の機能がセグメントモードで動作するようになりましたが、セグメントモードで動作するなら当然D(ump)などのコマンドでもセグメントが指定できなくてはなりません。

この辺りは8086のセグメントやTLCS-90のバンクを移植する形で対応しました。

表記はZ8000らしく<<SEG>>OFFSET形式も考えましたが、長くなるので8086同様SEG:OFFSET形式としています。

コマンドのパラメータ以外に対応が必要なのはR(egister)コマンドにおけるSSPとPCです。

  1. SSPH, SSPL, PCH, PCLのように16ビットずつ別のレジスタ名をつける
  2. 32レジスタとして扱う
  3. 16ビットずつに分けるが「:」で区切ってレジスタとしては1つとして扱う

などの方法が考えられます。

1.は勝手に名前を付けることになることと、2回に分けて設定するのは面倒です。

2.は操作的には良いのですが、このためだけにRDHEXルーチンを32ビット対応させなくてはなりません。

ということで3.を採用しました。これならパラメータの処理と同様に処理できます。

以上でセグメント対応は完成ですが、現状テストができません。

セグメントを指定できるかどうかはテストできますが、指定通りのセグメントにアクセスしているかは現状のアダプタSN0SN6を無視しているためわかりません。

まずはセグメントモードで動かすことだけを手っ取り早く確認しようとしたからですが、動くとなったら当然次は意図したセグメントにアクセスできているかの確認をしたくなります。

SBCZ8002のプリント板はもう1枚買ってあるのでRAM容量を拡大改造したものを作るか、RAM部も下駄方式にするか、いっそZ8001用にプリント基板を作ってしまうか、どうしようかな。


コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。