728x90
반응형
Now regarding the query, please note the interrupt priorities are fixed and defined by the arrangement,i.e. the nearer a module is to the CPU/NMIRS, the higher the priority.Generally the pending interrupts are stored in the Stack Pointer(SP) and the program counter(PC) plays an important role. The interrupt logic executes in the following way :
1) Any currently executing instruction is completed.
2) The PC, which points to the next instruction, is pushed onto the stack.
3) The SR is pushed onto the stack.
4) The interrupt with the highest priority is selected if multiple interrupts occurred during the last instruction and are pending for service.
5) The interrupt request flag resets automatically on single-source flags.Multiple source flags remain set for servicing by software.
6) The SR is cleared. This terminates any low-power mode. Because the GIEbit is cleared, further interrupts are disabled.
7) The content of the interrupt vector is loaded into the PC: the program continues with the interrupt service routine at that address.
1) Any currently executing instruction is completed.
2) The PC, which points to the next instruction, is pushed onto the stack.
3) The SR is pushed onto the stack.
4) The interrupt with the highest priority is selected if multiple interrupts occurred during the last instruction and are pending for service.
5) The interrupt request flag resets automatically on single-source flags.Multiple source flags remain set for servicing by software.
6) The SR is cleared. This terminates any low-power mode. Because the GIEbit is cleared, further interrupts are disabled.
7) The content of the interrupt vector is loaded into the PC: the program continues with the interrupt service routine at that address.
728x90
반응형
댓글