* better
[mascara-docs.git] / hw / i386.reference / c09.htm
blobcb2298549b0748b8b4176064bf2f2915e2e5d776
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>80386 Programmer's Reference Manual -- Chapter 09</TITLE>
5 </HEAD>
6 <BODY>
7 <B>up:</B> <A HREF="toc.htm">
8 Table of Contents</A><BR>
9 <B>prev:</B> <A HREF="s08_03.htm">8.3 Protection and I/O</A><BR>
10 <B>next:</B> <A HREF="s09_01.htm">9.1 Identifying Interrupts</A>
11 <P>
12 <HR>
13 <P>
14 <H1>Chapter 9 Exceptions and Interrupts</H1>
15 <P>
16 Interrupts and exceptions are special kinds of control transfer; they work
17 somewhat like unprogrammed
18 <A HREF="CALL.htm">CALL</A>s. They alter the normal program flow to
19 handle external events or to report errors or exceptional conditions. The
20 difference between interrupts and exceptions is that interrupts are used to
21 handle asynchronous events external to the processor, but exceptions handle
22 conditions detected by the processor itself in the course of executing
23 instructions.
24 <P>
25 There are two sources for external interrupts and two sources for
26 exceptions:
27 <OL>
28 <LI>Interrupts
29 <UL>
30 <LI>Maskable interrupts, which are signalled via the INTR pin.
32 <LI>Nonmaskable interrupts, which are signalled via the NMI
33 (Non-Maskable Interrupt) pin.
34 </UL>
35 <LI>Exceptions
36 <UL>
37 <LI>Processor detected. These are further classified as faults, traps,
38 and aborts.
40 <LI>Programmed. The instructions
41 <A HREF="INT.htm">INTO</A>,
42 <A HREF="INT.htm">INT</A> 3,
43 <A HREF="INT.htm">INT n</A>, and
44 <A HREF="BOUND.htm">BOUND</A> can
45 trigger exceptions. These instructions are often called "software
46 interrupts", but the processor handles them as exceptions.
47 </UL>
48 </OL>
49 This chapter explains the features that the 80386 offers for controlling
50 and responding to interrupts when it is executing in protected mode.
51 <P>
52 <A HREF="s09_01.htm">9.1 Identifying Interrupts</A><BR>
53 <A HREF="s09_02.htm">9.2 Enabling and Disabling Interrupts</A><BR>
54 <A HREF="s09_03.htm">
55 9.3 Priority Among Simultaneous Interrupts and Exceptions</A><BR>
56 <A HREF="s09_04.htm">9.4 Interrupt Descriptor Table</A><BR>
57 <A HREF="s09_05.htm">9.5 IDT Descriptors</A><BR>
58 <A HREF="s09_06.htm">9.6 Interrupt Tasks and Interrupt Procedures</A><BR>
59 <A HREF="s09_07.htm">9.7 Error Code</A><BR>
60 <A HREF="s09_08.htm">9.8 Exception Conditions</A><BR>
61 <A HREF="s09_09.htm">9.9 Exception Summary</A><BR>
62 <A HREF="s09_10.htm">9.10 Error Code Summary</A>
63 <P>
64 <HR>
65 <P>
66 <B>up:</B> <A HREF="toc.htm">
67 Table of Contents</A><BR>
68 <B>prev:</B> <A HREF="s08_03.htm">8.3 Protection and I/O</A><BR>
69 <B>next:</B> <A HREF="s09_01.htm">9.1 Identifying Interrupts</A>
70 </BODY>