1. It decrements SP by 2 and pushes the flag register on the stack.
2. Disables INTR by clearing the IF.
3. It resets the TF in the flag Register.
5. It decrements SP by 2 and pushes CS on the stack.
6. It decrements SP by 2 and pushes IP on the stack.
6. Fetch the ISR address from the interrupt vector table.
Interrupt Vector Table (Click the picture for full view)
Functions associated with INT00 to INT04
INT 00 (divide error)
- INT00 is invoked by the microprocessor whenever there is an attempt to divide a number by zero.
- ISR is responsible for displaying the message “Divide Error” on the screen
For single stepping the trap flag must be 1
After execution of each instruction, 8086 automatically jumps to 00004H to fetch 4 bytes for CS: IP of the ISR.
The job of ISR is to dump the registers on to the screen
INT 02 (Non maskable Interrupt)
When ever NMI pin of the 8086 is activated by a high signal (5v), the CPU Jumps to physical memory location 00008 to fetch CS:IP of the ISR assocaiated with NMI.
INT 03 (break point)
A break point is used to examine the cpu and memory after the execution of a group of Instructions.
It is one byte instruction whereas other instructions of the form “INT nn” are 2 byte instructions.
INT 04 ( Signed number overflow)
There is an instruction associated with this INT 0 (interrupt on overflow).
If INT 0 is placed after a signed number arithmetic as IMUL or ADD the CPU will activate INT 04 if 0F = 1.
In case where 0F = 0 , the INT 0 is not executed but is bypassed and acts as a NOP.