Microprocessors allow normal program execution to be interrupted in order to carry out a specific task /work. A processor can be interrupted in the following ways :
i. by an external signal generated by a peripheral,
ii. by an internal signal generated by a special instruction in the program,
iii. by an internal signal generated due to an exceptional condition that occurs while executing an instruction.
The interrupt is initiated by a signal generated by an external device or by a signal generated internally by the processor. When a microprocessor receives an interrupt signal, it stops executing the current normal program, saves the status (or content) of various registers (PC in case of 8085) in the stack, and then executes a subroutine/procedure in order to perform the specific task/work requested by the interrupt. The subroutine/procedure that is executed in response to an interrupt is also called Interrupt Service Routine (ISR). At the end of ISR, the stored status of registers in the stack is restored to respective registers and the processor resumes the normal program execution from the point (instruction) where it was interrupted.
The external interrupts are used to implement an interrupt-driven data transfer scheme. The interrupts generated by special instructions are called software interrupts and they are used to implement system services/calls (or monitor services/calls). The system /monitor services are procedures developed by the system designer for various operations and stored in memory. The user can call these services through software interrupts. The interrupts generated by exceptional conditions are used to implement error conditions in the system.
Types of Interrupts:
In general, interrupts can be classified in the following three ways: