0% found this document useful (0 votes)
2 views24 pages

MPMC Module 2 - Lecture 7

The document provides an overview of interrupts in the 8085 and 8086 microprocessors, categorizing them into maskable and non-maskable types, as well as vectored and non-vectored interrupts. It explains the interrupt process, including how the microprocessor responds to interrupts, the use of the Interrupt Vector Table (IVT), and the handling of multiple interrupts with priority encoding. Additionally, it discusses specific instructions like SIM and RIM, and highlights the significance of the TRAP interrupt as the highest priority non-maskable interrupt.

Uploaded by

jay10052004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views24 pages

MPMC Module 2 - Lecture 7

The document provides an overview of interrupts in the 8085 and 8086 microprocessors, categorizing them into maskable and non-maskable types, as well as vectored and non-vectored interrupts. It explains the interrupt process, including how the microprocessor responds to interrupts, the use of the Interrupt Vector Table (IVT), and the handling of multiple interrupts with priority encoding. Additionally, it discusses specific instructions like SIM and RIM, and highlights the significance of the TRAP interrupt as the highest priority non-maskable interrupt.

Uploaded by

jay10052004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Dr.

Subhasish Mahapatra
Sr. Assistant Professor
School of Electronics Engineering (SENSE)
VIT-AP University
E-Mail: [email protected]
CONTENT

 Interrupt

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 2
Dr. Subhasish Mahapatra
Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 3
INTERRUPT

 Interrupt is a process where an external device can get the attention of the microprocessor.

 The process starts from the I/O device


 The process is asynchronous

 Interrupts can be classified into two types:

 Maskable (can be delayed)


 Non-Maskable (can not be delayed)

 Interrupts can also be classified into:

 Vectored (the address of the service routine is hard-wired)


 Non-vectored (the address of the service routine needs to be supplied externally)

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 4
INTERRUPT

 The 8085 has 5 interrupt inputs

 INTR input
Interrupt
 The INTR input is the only non-vectored interrupt Maskable Vectored
name
 INTR is maskable using the EI/DI instruction pair INTR Yes No
 RST 5.5, RST 6.5, RST 7.5 are all automatically RST 5.5 Yes Yes
RST 6.5 Yes Yes
vectored
RST 7.5 Yes Yes
 RST 5.5, RST 6.5, and RST 7.5 are all maskable TRAP No Yes
 TRAP is the only non-maskable interrupt in the
8085
 TRAP is also automatically vectored

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 5
INTERRUPT

 When the Microprocessor receives an interrupt signal, it suspends the currently executing
program and jumps to an Interrupt Service Routine (ISR) to respond to the incoming
interrupt.

 Each interrupt will most probably have its own ISR.

 Responding to an interrupt may be immediate or delayed depending on whether the


interrupt is maskable or non-maskable and whether interrupts are being masked or not.

 There are two ways of redirecting the execution to the ISR depending on whether the
interrupt is vectored or non-vectored.
 The vector is already known to the Microprocessor
 The device will have to supply the vector to the Microprocessor

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 6
INTERRUPT

Interrupt Vectors and the Vector Table


 An interrupt vector is a pointer to where the ISR is stored in memory.
 All interrupts (vectored or otherwise) are mapped onto a memory area called the Interrupt
Vector Table (IVT).
 The IVT is usually located in memory page 00 (0000H- 00FFH).
 The purpose of the IVT is to hold the vectors that redirect the microprocessor to the
right place when an interrupt arrives.
 The IVT is divided into several blocks. Each block is used by one of the interrupts to hold
its “vector”

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 7
INTERRUPT

Non-Vectored Interrupt Process


1. The interrupt process should be enabled using the EI instruction.
2. The 8085 checks for an interrupt during the execution of every instruction.
3. If there is an interrupt, the microprocessor will complete the executing instruction, and start a
RESTART sequence.
4. The RESTART sequence resets the interrupt flip flop and activates the interrupt acknowledge signal
(INTA).
5. Upon receiving the INTA signal, the interrupting device is expected to return the op-code of one of the 8
RST instructions.
6. When the microprocessor executes the RST instruction received from the device, it saves the address of
the next instruction on the stack and jumps to the appropriate entry in the Interrupt Vector Table (IVT).

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 8
INTERRUPT

Non-Vectored Interrupt Process


6. The IVT entry must redirect the microprocessor to the actual service
routine.
7. The service routine must include the instruction EI to re-enable the
interrupt process.
8. At the end of the service routine, the RET instruction returns
the execution to where the program was interrupted.

 The 8085 recognizes 8 RESTART instructions: RST0 - RST7.


 each of these would send the execution to a predetermined hard-
wired memory location

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 9
INTERRUPT

Multiple Interrupts & Priorities


 The microprocessor can only respond to one signal on INTR at a time.
 Therefore, the signal from only one of the devices is allowed to reach the microprocessor.
 It is required to assign some priority to the different devices and allow their signals to reach
the microprocessor according to the priority.
 The solution is to use a circuit called the priority encoder (74366).
 This circuit has 8 inputs and 3 outputs.
 The inputs are assigned increasing priorities according to the increasing index of the input.
 Input 7 has highest priority and input 0 has the lowest.
 The 3 outputs carry the index of the highest priority active input.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 10
INTERRUPT

Multiple Interrupts & Priorities

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 11
INTERRUPT

8085 Maskable/Vectored Interrupts


 The 8085 has 3 Masked/Vectored interrupt inputs: RST 5.5, RST 6.5, RST 7.5
 They are all maskable.
 They are automatically vectored according to the following table:

 The vectors for these interrupts fall in between the vectors of RST instructions. That is why, the
name is RST 5.5 (between RST 5 and RST 6).
 RST 7.5 is positive edge sensitive. RST 6.5 and RST 5.5 are level sensitive.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 12
INTERRUPT

RST 5.5, RST 6.5, RST 7.5


 These three interrupts are masked at two levels:
 Through the Interrupt Enable flip flop and
the EI/DI instructions.
 The interrupt Enable flip flop controls the
whole maskable interrupt process.
 Through individual mask flip flops that
control the availability of the individual
interrupts.
 These flip flops control the interrupts
individually.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 13
INTERRUPT

8085 Maskable/Vectored Interrupt Process


1. The interrupt process should be enabled using the EI instruction.
2. The 8085 checks for an interrupt during the execution of every instruction.
3. If there is an interrupt, and if the interrupt is enabled using the interrupt mask, the microprocessor
will complete the executing instruction, and reset the interrupt flip flop.
4. The microprocessor then executes a call instruction that sends the execution to the appropriate
location in the interrupt vector table.
5. When the microprocessor executes the call instruction, it saves the address of the next instruction
6. on the stack and jumps to the specific service routine. The service routine must include EI
instruction to re-enable the interrupt process.
7. At the end of the service routine, the RET instruction returns the execution where the program was
interrupted.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 14
INTERRUPT

SIM (Set Interrupt Mask) Instruction

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 15
INTERRUPT

Example: Set the interrupt masks so that RST 5.5 is enabled, RST 6.5 is masked, and RST 7.5 is
enabled.
 First, determine the contents of the accumulator

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 16
INTERRUPT

RIM Instruction

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 17
INTERRUPT

RIM Instruction
 Since the 8085 has five interrupt lines, interrupts may occur during an ISR and remain
pending.
 Using the RIM instruction, the programmer can read the status of the interrupt lines and
find if there are any pending interrupts.
 The advantage is being able to find about interrupts on RST 7.5, RST 6.5, and RST 5.5 without
having to enable low level interrupts like INTR.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 18
INTERRUPT

RIM Instruction:

 Read Interrupt Mask


 Load the accumulator with an 8-bit pattern showing the status of each interrupt pin and mask.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 19
INTERRUPT

Example: Set the mask to enable RST 6.5 without modifying the masks for RST 5.5 and RST 7.5.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 20
INTERRUPT

TRAP
 TRAP is the only non-maskable Interrupt.
 It does not need to be enabled because it can not be disabled.
 It has the highest priority amongst interrupts.
 It is edge and level sensitive.
 It needs to be high and stay high to be recognized.
 Once it is recognized, it won't be recognized again until it goes low, then high again.
 TRAP is usually used for power failure and emergency shutoff.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 21
INTERRUPT

Internal Interrupt Priority


 Internally, the 8085 implements an interrupt priority scheme.
– The interrupts are ordered as follows:
 TRAP
 RST 7.5
 RST 6.5
 RST 5.5
 INTR
– However, TRAP has lower priority than the HOLD signal used for DMA.

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 22
INTERRUPT

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 23
Please follow the instructions of the government and stay safe

Dr. Subhasish Mahapatra


Sr. Assistant Professor, SENSE
8085 and 8086 Microprocessors 24

You might also like