■ このスレッドは過去ログ倉庫に格納されています
PC-9821/9801スレッド Part74
- 1 :ナイコンさん:2015/08/08(土) 18:01:34.60 .net
- NEC PC-9801 PC-9821 PC-H98 など PC-9800 シリーズ全般を語るスレッドです。
▼前スレ
PC-9821/9801スレッド Part72 (73)
http://hello.2ch.net/test/read.cgi/i4004/1430620572/
- 129 :ナイコンさん:2015/09/08(火) 20:14:25.93 .net
- DOSエクステンダ
https://ja.wikipedia.org/wiki/DOS%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%86%E3%83%B3%E3%83%80
^ 80286では、非公開のLOADALL命令を使用しても、プロテクトモードからリアルモードへ戻ることはできない。
- 130 :ナイコンさん:2015/09/08(火) 20:16:49.54 .net
- LOADALL
https://ja.wikipedia.org/wiki/LOADALL
LOADALLは、インテル社のCPU 80286, 80386/80486にあった非公開命令
のひとつである。
概要
LOADALL命令は、その名前が示すように1命令でCPUのすべての
内部レジスタをロードする。LOADALLは、セグメントレジスタの
可視部(visible part)に加えて、デスクリプターキャッシュ部
(cached part)もロードする。そのため、公開されたx86命令では
できないことが可能である。 LOADALL命令の有用な使用例は、
リアルモードのままで、1Mバイト以上のメモリ領域をアクセス
することである。MS-DOSのRAMDRIVE.SYSやHIMEM.SYS、
Windows/386 2.1, OS/2などがLOADALLを使用している。
80286版LOADALL
オペコードは、0Fh 05h。80286版LOADALLは、セグメントレジスタの
値に関係なく、00800h–00866hのアドレスからデータを読み込む。
80286では、LOADALL命令を使用しても、プロテクトモードから
リアルモードに戻ることはできない。すなわち、MSWのPEビットは
クリアできない。しかし、LOADALL命令があれば、1MB以上のメモリに
アクセスするために、プロテクトモードに入る必要はなくなる。
- 131 :ナイコンさん:2015/09/08(火) 20:27:17.28 .net
- ftp厨ってまだ息してんの?
- 132 :ナイコンさん:2015/09/08(火) 20:33:32.67 .net
- プロテクトモード
https://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%83%86%E3%82%AF%E3%83%88%E3%83%A2%E3%83%BC%E3%83%89#286_2
386がリリースされる以前は、プロテクトモードにいったん入った後、
リアルモードに戻る直接的方法が提供されていなかった。IBMはその対処
として、キーボードコントローラからCPUをリセットする技法を考案し、
その際にシステムレジスタ群、スタックポインタ、割り込みマスクを
リアルタイムクロックのチップにあるRAMにセーブするようにした。
これによりBIOSがCPUをほぼ同じ状態に復旧することが可能となり、
リセット前のコードの実行を続行できる。その後、トリプルフォールト
を発生させて286CPUをリセットするという手段がとられた。こちらの
方がキーボードコントローラを使うよりも高速できれいだった。
- 133 :ナイコンさん:2015/09/08(火) 20:35:38.53 .net
- Triple fault
https://en.wikipedia.org/wiki/Triple_fault
The Intel 80286 processor was the first x86 processor to introduce
the now-ubiquitous protected mode. However, the 286 could not revert to
the basic 8086-compatible "real mode" without resetting the processor,
which can only be done using hardware external to the CPU. On the IBM
AT and compatibles, the documented method of doing this was to use a
special function on the Intel 8042 keyboard controller, which would
assert the RESET pin of the processor. However, intentionally
triple-faulting the CPU was found to cause the transition to occur
much faster and more cleanly, permitting multitasking operating
systems to switch back and forth at high speed.[1]
- 134 :ナイコンさん:2015/09/08(火) 20:40:07.55 .net
- OS/2 1.xでリアルモードとプロテクトモード切替はわざとトリプルフォールト
を発生させて切り替えたみたいだね。
Faster Syscall Trap redux
http://blogs.msdn.com/b/larryosterman/archive/2005/02/08/369243.aspx
総レス数 1001
182 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200