■ このスレッドは過去ログ倉庫に格納されています
8086 vs. Z80 vs. 6809 vs. 6502 その15
- 519 :ナイコンさん :2021/10/21(木) 06:35:18.40 ID:0FlRR3xD0.net
- Z8000は32bitの乗除算命令もあるようだね
ただし、符号付の乗除算命令しかないようだ
16bit × 16bit = 16bitや32bit × 32bit = 32bitの場合、乗算に関しては
16bit × 16bit = 32bitの下位16bitや32bit × 32bit = 64bitの下位32bit部分は
符号付、符号なしでも結果が同じになるので
C言語の実装では16bit乗算命令のMULTの結果の下位16bit
32bit乗算命令のMULTLの結果の下位32bitを使えばいいが
除算命令に関しては符号なしの場合、自分で実装しないといけない
z8kgccでも符号なし除算に関しては符号なし除算のサブルーチンを用意してる
また、Z8000のセグメントモードは64KB単位なので融通が利かない
おそらくセグメントモードでの利用はMMUのZ8010を使うことを前提として設計されたのだと思う
Z8010を使うとベースアドレスを256バイト単位でセグメントを配置できて
セグメント長も256バイト単位で設定できる
Z8010を使うことでセグメント単位でのアクセス保護も可能
セグメント単位のアドレスリマッピングやアクセス保護は286のプロテクトモードみたいだね
セグメント管理に使用されるセグメントディスクリプタレジスタはZ8010の中にある模様
Z8010一つに64エントリ分のレジスタがあって
8MBの全メモリ空間をサポートするには128エントリが必要なのでZ8010が2つ必要みたい
書籍の「Z80伝説」によればZ8000を使った最初のミニコンは
セグメントなしのZ8002を使いMMUはミニコンメーカーが独自に実装したらしい
総レス数 1001
309 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200