add directory study
This commit is contained in:
35
study/sabre/os/files/ProtectedMode/DPMI1.0Spec/ch4.4.html
Normal file
35
study/sabre/os/files/ProtectedMode/DPMI1.0Spec/ch4.4.html
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
|
||||
When a DPMI client switches into protected mode, a unique interrupt
|
||||
descriptor table (IDT) is created for the client by the DPMI host.
|
||||
Initially, all software interrupts (except for Int 31H, Int 2FH and
|
||||
Int 21H Function 4CH) or external hardware interrupts are directed to
|
||||
a handler that simply reflects the interrupt to real mode; i.e. the
|
||||
DPMI host's default handler simply switches the CPU into real mode and
|
||||
re-issues the interrupt, so that it can be serviced by the original
|
||||
real mod owner of the interrupt. The contents of the general
|
||||
registers and flags are passed to the real mode handler and the
|
||||
modified registers and flags are returned to the protected mode
|
||||
handler. Segment registers and the stack pointer are not passed
|
||||
between modes; the contents of the segment registers after the switch
|
||||
to real mode are undefined, and the DPMI host automatically supplies a
|
||||
valid real mode stack. <p>
|
||||
|
||||
DPMI clients can install their own distinct real mode or protected
|
||||
mode handlers for software and external hardware interrupts with <a
|
||||
href="api/310201.html">Functions 0201H</a> and <a
|
||||
href="api/310205.html">0205H</a> respectively. If a protected mode
|
||||
handler is installed, it is called instead of any real mode handler or
|
||||
the DPMI host's default handler. Just as in real mode, the protected
|
||||
mode handler can either service the interrupt and terminate with an
|
||||
IRET, or transfer to the next handler in the chain by executing a
|
||||
<tt>PUSHF/CALL</tt> or a <tt>FAR JMP</tt>. The final handler in the
|
||||
protected mode handler chain (the DPMI host's default handler) will
|
||||
reflect the interrupt to real mode. <p>
|
||||
|
||||
<hr>
|
||||
<img src="/icons/menu.sm.gif"><a href="ch4.4.1.html">Virtual Interrupts</a><br>
|
||||
<img src="/icons/menu.sm.gif"><a href="ch4.4.2.html">Hardware Interrupts</a><br>
|
||||
<img src="/icons/menu.sm.gif"><a href="ch4.4.3.html">Software Interrupts</a><br>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user