8XC251SA, SB, SP, SQ USER’S MANUAL
6-14
6.7.2.4
Blocking Conditions
If all enable and priority requirements have been met, a single prioritized interrupt request at a
time generates a vector cycle to an interrupt service routine (refer to the CALL instructions in Ap-
pendix A, “Instruction Set Reference”). There are three causes of blocking conditions with hard-
ware-generated vectors:
1.
An interrupt of equal or higher priority level is already in progress (defined as any point
after the flag has been set and the RETI of the ISR has not executed).
2.
The current polling cycle is not the final cycle of the instruction in progress.
3.
The instruction in progress is RETI or any write to the IE0, IPH0, or IPL0 registers.
Any of these conditions blocks calls to interrupt service routines. Condition two ensures the in-
struction in progress completes before the system vectors to the ISR. Condition three ensures at
least one more instruction executes before the system vectors to additional interrupts if the in-
struction in progress is a RETI or any write to IE0, IPH0, or IPL0. The complete polling cycle is
repeated every four state times.
6.7.2.5
Interrupt Vector Cycle
When an interrupt vector cycle is initiated, the CPU breaks the instruction stream sequence, re-
solves all instruction pipeline decisions, and pushes multiple program counter (PC) bytes onto the
stack. The CPU then reloads the PC with a start address for the appropriate ISR. The number of
bytes pushed to the stack depends upon the INTR bit in the UCONFIG1 configuration byte (see
Figure 4-4 on page 4-7). The complete sample, poll, request and context switch vector sequence
is illustrated in the interrupt latency timing diagram (Figure 6-5
)
.
NOTE
If the interrupt flag for a level-triggered external interrupt is set but denied for
one of the above conditions and is clear when the blocking condition is
removed, then the denied interrupt is ignored. In other words, blocked interrupt
requests are not buffered for retention.
Summary of Contents for 8XC251SA
Page 2: ......
Page 3: ...May 1996 8XC251SA 8XC251SB 8XC251SP 8XC251SQ Embedded Microcontroller User s Manual...
Page 18: ......
Page 19: ...1 Guide to This Manual...
Page 20: ......
Page 30: ......
Page 31: ...2 Architectural Overview...
Page 32: ......
Page 41: ...3 Address Spaces...
Page 42: ......
Page 63: ...4 Device Configuration...
Page 64: ......
Page 81: ...5 Programming...
Page 82: ......
Page 102: ......
Page 103: ...6 Interrupt System...
Page 104: ......
Page 120: ......
Page 121: ...7 Input Output Ports...
Page 122: ......
Page 132: ......
Page 133: ...8 Timer Counters and Watchdog Timer...
Page 134: ......
Page 153: ...9 Programmable Counter Array...
Page 154: ......
Page 170: ......
Page 171: ...10 Serial I O Port...
Page 172: ......
Page 187: ...11 Minimum Hardware Setup...
Page 188: ......
Page 197: ...12 Special Operating Modes...
Page 198: ......
Page 206: ......
Page 207: ...13 External Memory Interface...
Page 208: ......
Page 239: ...14 Programming and Verifying Nonvolatile Memory...
Page 240: ......
Page 250: ......
Page 251: ...A Instruction Set Reference...
Page 252: ......
Page 390: ......
Page 391: ...B Signal Descriptions...
Page 392: ......
Page 400: ......
Page 401: ...C Registers...
Page 402: ......
Page 436: ......
Page 437: ...Glossary...
Page 438: ......
Page 446: ......
Page 447: ...Index...
Page 448: ......
Page 458: ......