CPUリセット回路(16ビットDOSエクステンダの場合)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/23 17:44 UTC 版)
「DOSエクステンダ」の記事における「CPUリセット回路(16ビットDOSエクステンダの場合)」の解説
「DOSエクステンダの動作」の項で解説したように、DOSエクステンダはリアルモードとプロテクトモードを交互に切り換えながら動作する。ところが80286は、プロテクトモードからリアルモードに切り換える方法がCPUリセットしかないため、プロテクトモードからリアルモードへの切り換えが必要なプログラムのためにPC/AT互換機やPC-9800シリーズは、CPUのみをリセットする回路を装備していた。このCPUのみをリセットする回路は機種毎に異なっていたので、80286対応のDOSエクステンダ(当然16ビットDOSエクステンダとなる)のようなプロテクトモードからリアルモードへの切り換えが必要なプログラムは必然的に機種依存することとなった。また80286をリセットすると、アドレス 0FFFFF0hにジャンプするが、リアルモードに遷移後、処理をDOSエクステンダに戻すためには、この領域にあるプログラム(プロテクトモードBIOSの一種)の助けを必要とするが、BIOSの仕様も機種によって異なるということに注意が必要である。つまり32ビットよりも16ビットDOSエクステンダの方がPC/AT互換機対応版から他機種への移植の手間が多かったのである。なお、PC/AT互換機対応の16ビットDOSエクステンダをPC-9800シリーズ等に移植する場合に、移植作業の手間を少しでも減らすために、サポートするCPUを386以上に限定することにより、CPUリセット回路の制御とCPUリセットBIOSに関する移植を回避しているケースもあった。
※この「CPUリセット回路(16ビットDOSエクステンダの場合)」の解説は、「DOSエクステンダ」の解説の一部です。
「CPUリセット回路(16ビットDOSエクステンダの場合)」を含む「DOSエクステンダ」の記事については、「DOSエクステンダ」の概要を参照ください。
- CPUリセット回路のページへのリンク