1,885
edits
Changes
→Interrupts and Exceptions
* Attempted execution of an undefined instruction.
When any type of interrupt is received, the program counter is typically pushed on the [[Stack|stack]], and then the program counter is loaded from an ''interrupt vector'' stored in a register or a pre-defined memory location, usually at the top of bottom of physical address space. Effectively, this means that a subroutine jump is performed to the interrupt-handling routine. In systems where multiple devices are connected to one hardware interrupt line, it is necessary to poll the PIC/APIC or the attached devices to determine which one(s) triggered the interrupt before servicing the request(s).
Most but not all interrupts can be masked -- temporarily turned off -- either in the CPU or in the PIC/APIC.