Microprocessor - 8086 Interrupts
Microprocessor - 8086 Interrupts
Interrupt is the method of creating a temporary halt during program execution and allows
peripheral devices to access the microprocessor. The microprocessor responds to that interrupt
with an ISR (Interrupt Service Routine), which is a short program to instruct the microprocessor
on how to handle the interrupt.
The following image shows the types of interrupts we have in a 8086 microprocessor −
Hardware Interrupts
Hardware interrupt is caused by any peripheral device by sending a signal through a specified pin
to the microprocessor.
The 8086 has two hardware interrupt pins, i.e. NMI and INTR. NMI is a non-maskable interrupt
and INTR is a maskable interrupt having lower priority. One more interrupt pin associated is INTA
called interrupt acknowledge.
NMI
It is a single non-maskable interrupt pin (NMI) having higher priority than the maskable interrupt
request pin (INTR)and it is of type 2 interrupt.
( ) (
https://www.tutorialspoint.com/microprocessor/microprocessor_8086_interrupts.htm ) 1/4
6/20/22, 10:29 PM Microprocessor - 8086 Interrupts
Pushes the CS (code segment) value and IP (instruction pointer) value of the return address
on to the stack.
IP is loaded from the contents of the word location 00008H.
INTR
The INTR is a maskable interrupt because the microprocessor will be interrupted only if interrupts
are enabled using set interrupt flag instruction. It should not be enabled using clear interrupt Flag
instruction.
The INTR interrupt is activated by an I/O port. If the interrupt is enabled and NMI is disabled,
then the microprocessor first completes the current execution and sends ‘0’ on INTA pin twice. The
first ‘0’ means INTA informs the external device to get ready and during the second ‘0’ the
microprocessor receives the 8 bit, say X, from the programmable interrupt controller.
Software Interrupts
Some instructions are inserted at the desired position into the program to create interrupts. These
interrupt instructions can be used to test the working of various interrupt handlers. It includes −
CS value of the return address and IP value of the return address are pushed on to the stack.
IP is loaded from the contents of the word location ‘type number’ × 4
https://www.tutorialspoint.com/microprocessor/microprocessor_8086_interrupts.htm 2/4
6/20/22, 10:29 PM Microprocessor - 8086 Interrupts
The starting address for type0 interrupt is 000000H, for type1 interrupt is 00004H similarly for
type2 is 00008H and ……so on. The first five pointers are dedicated interrupt pointers. i.e. −
The interrupts from Type 5 to Type 31 are reserved for other advanced microprocessors, and
interrupts from 32 to Type 255 are available for hardware and software interrupts.
CS value of the return address and IP value of the return address are pushed on to the stack.
IP is loaded from the contents of the word location 3×4 = 0000CH
CS value of the return address and IP value of the return address are pushed on to the stack.
https://www.tutorialspoint.com/microprocessor/microprocessor_8086_interrupts.htm 3/4
6/20/22, 10:29 PM Microprocessor - 8086 Interrupts
https://www.tutorialspoint.com/microprocessor/microprocessor_8086_interrupts.htm 4/4