Vectored Interrupt and Non-Vectored Interrupt in 8085
In this post, we will discuss Vectored Interrupt and Non-Vectored Interrupt in 8085.
The Intel 8085 has five interrupt inputs namely TRAP, RST 7.5, RST 6.5, RST 5.5, and INTR.
When any of these interrupt pins except INTR is active, the internal control circuit of the processor produces a call to a predetermined memory location. At this memory location subroutine starts. This memory location referring to the starting point of the subroutine is called the vector address. These interrupts (TRAP, RST 7.5, RST 6.5, and RST 5.5) are called Vectored interrupts.
The INTR interrupt receives the address of the subroutine from the external device or from external hardware and in this case, the vector address (memory location referring to the starting point of the subroutine) is not predefined. Such interrupts are called Non-Vectored interrupts.
Vectored Interrupt in 8085
Vectored Interrupts are those which have fixed vector addresses for the interrupt service routine. Vector Addresses are calculated by the formula, 8 * TYPE.
TRAP, RST 7.5, RST 6.5, and RST 5.5 are examples of vectored interrupts in the 8085 microprocessor.
Call Locations for TRAP, RST 7.5, RST 6.5, RST 5.5
Interrupt | Memory location | Vector Address |
TRAP | 4.5 octal | 0024 H |
RST 5.5 | 5.5 octal | 002C H |
RST 6.5 | 6.5 octal | 0034 H |
RST 7.5 | 7.5 octal | 003C H * |
INTR | No fixed memory location |
Vector Address Calculation from interrupt number – formula and example
*Calculation: Interrupt number x 8 =Vector address
Example: RST 7.5
Multiplying 7.5 by 8 gives 60in decimal and 3C (3 x161 + C x160) in hex. So the call location (vector address) is 003C H.
Non-Vectored Interrupt in 8085
Non-Vectored Interrupts are those in which the vector address is not predefined. The interrupting device gives the address of the sub-routine for these interrupts. INTR is the only non-vectored interrupt in the 8085 microprocessor.
Call Locations for INTR
When the INTR instruction is executed then the processor executes an interrupt service routine stored in the vector address of the software interrupt instruction.
The 8085 processor has eight software interrupts. The software interrupts are RST 0, RST 1, RST 2, RST 3, RST 4, RST 5, RST 6, RST 7
Vector Address Calculation from software interrupt number – formula and example
*Calculation: Software interrupt number x 8 =Vector address
Software Interrupt | Vector Address |
RST 0 | 0000 H |
RST 1 | 0008 H |
RST 2 | 0010 H |
RST 3 | 0018 H |
RST 4 | 0020 H |
RST 5 | 0028 H |
RST 6 | 0030 H |
RST 7 | 0038 H |
Example: RST 7
Multiplying 7 by 8 gives 56in decimal and 38 (=3 x161 + 8 x160) in hex. So the call location (vector address) is 0038 H.