2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

OSと言えばコレでしょ!CP/Mスレ ver.2

935 :890:2014/11/15(土) 09:50:44.81 .net
>>891
内部動作は単なるモード切り替えだけど
要はアドレス空間を仮想化・分離してタイマ割込みなり何なりでコンテキストスイッチが出来れば
元々のCP/Mアプリを改変する事なくマルチタスクで動かす事ができるわけで。

アドレス空間についてはまさにその為の機構があるし(セグメント機構)、
それは8080エミュレーションモードでも活用できる様になっている。
コンテキストスイッチに関して言えばレジスタ退避する仕組みを構築できればいいわけだが
8080レジスタがV30の各レジスタに対応してるのでディスパッチャがそれを保存すれば後で戻せる。

Z80の場合、8080と違って8086(V30)よりレジスタが多かったりするので(裏レジスタあるし)
そのままZ80のレジスタ全部がV30レジスタのどれかに対応という訳にはいかない。
で、Z80にしか無いレジスタをV30ネイティブ側で読み出して退避したり、戻したりする専用の機構も
どうやら(解析されてる範囲では)無さそうな模様。
だからZ80のプログラムを(V30の機能を使って8080の場合と同様の方法で)マルチタスク化するのはどうやら無理らしい、という事。

総レス数 1001
230 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200