03.01.2015 Views

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OVERVIEW OF THE 80C186 FAMILY ARCHITECTURE<br />

2.3 INTERRUPTS AND EXCEPTION HANDLING<br />

Interrupts and exceptions alter program execution in response to an external event or an error<br />

condition. An interrupt handles asynchronous external events, for example an NMI. Exceptions<br />

result directly from the execution of an instruction, usually an instruction fault. The user can<br />

cause a software interrupt by executing an “INTn” instruction. The CPU processes software interrupts<br />

in the same way that it handles exceptions.<br />

The 80C186 Modular Core responds to interrupts and exceptions in the same way for all devices<br />

within the 80C186 Modular Core family. However, devices within the family may have different<br />

Interrupt Control Units. The Interrupt Control Unit handles all external interrupt sources and presents<br />

them to the 80C186 Modular Core via one maskable interrupt request (see Figure 2-24).<br />

This discussion covers only those areas of interrupts and exceptions that are common to the<br />

80C186 Modular Core family. The Interrupt Control Unit is proliferation-dependent; see Chapter<br />

7, “Interrupt Control Unit,” for additional information.<br />

NMI<br />

Maskable<br />

Interrupt<br />

Request<br />

CPU<br />

Interrupt<br />

Acknowledge<br />

Interrupt<br />

Control<br />

Unit<br />

External<br />

Interrupt<br />

Sources<br />

A1028-0A<br />

Figure 2-24. Interrupt Control Unit<br />

2.3.1 Interrupt/Exception Processing<br />

The 80C186 Modular Core can service up to 256 different interrupts and exceptions. A 256-entry<br />

Interrupt Vector Table (Figure 2-25) contains the pointers to interrupt service routines. Each entry<br />

consists of four bytes, which contain the Code Segment (CS) and Instruction Pointer (IP) of<br />

the first instruction in the interrupt service routine. Each interrupt or exception is given a type<br />

number, 0 through 255, corresponding to its position in the Interrupt Vector Table. Note that interrupt<br />

types 0–31 are reserved for Intel and should not be used by an application program.<br />

2-39

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!