Friday 27 January 2012

Interrupt Exception


Interrupts and exceptions both alter the program flow. The 
difference
between the two is that interrupts are used to handle 
external events
(serial ports, keyboard) and exceptions are used to handle 
instruction
faults, (division by zero, undefined opcode).

Interrupts are handled by the processor after finishing the 
current
instruction. If it finds a signal on its interrupt pin, it 
will look up
the address of the interrupt handler in the interrupt table 
and pass
that routine control.  After returning from the interrupt 
handler
routine, it will resume program execution at the 
instruction after the
interrupted instruction.

Exceptions on the other hand are divided into three kinds.  
These are
Faults, Traps and Aborts.  Faults are detected and serviced 
by the
processor before the faulting instructions.  Traps are 
serviced after
the instruction causing the trap.  User defined interrupts 
go into this
category and can be said to be traps; this includes the MS-
DOS INT 21h
software interrupt, for example.  Aborts are used only to 
signal severe
system problems, when operation is no longer possible.

No comments:

Post a Comment