Nesting of vectored interrupts, Polled processing, Figure 102 – Zilog Z86193 User Manual
Page 115: Cpu user manual, C (internal synchronization time), Push the old imr on the stack, Execute ei instruction, Proceed with interrupt processing

Z8
®
CPU
User Manual
UM001604-0108
Interrupts
108
longest instruction present in the application program + 2T
P
C (internal synchronization
time).
Nesting of Vectored Interrupts
Nesting of vectored interrupts allows higher priority requests to interrupt a lower priority
request. To initiate vectored interrupt nesting, do the following during the interrupt service
routine:
•
Push the old IMR on the stack
•
Load IMR with a new mask to disable lower priority interrupts
•
Execute EI instruction
•
Proceed with interrupt processing
•
After processing is complete, execute DI instruction
•
Restore the IMR to its original value by returning the previous mask from the stack
•
Execute IRET
Depending on the application, some simplification of the above procedure may be possi-
ble.
Polled Processing
Polled interrupt processing is supported by masking off the IRQ to be polled. This is
accomplished by clearing the corresponding bits in the IMR.
To enable any interrupt, first the interrupt mechanism must be engaged with an EI instruc-
tion. If only polled interrupts are to be serviced, execute:
Figure 102. Z8 Interrupt Acknowledge Timing
PC
For Stack External Only
PC+1
PC
PCL
SP-1
SP-2
PCH
SP-3 FLAGS
VECT
VECT+1
Even Vector Address
Odd Vector Address
Op Code (Discarded)
VECTH
VECTL
First Instruction Of Interrupt Service Routine
For Stack External Only
A0-A7 IN
Internal Clock
AS
/DS
A0-A7 OUT
M3
M1
M2
M1
M2
Stack Push
Fetch
Vector High
Fetch
Vector Low
Stack Push
Stack Push
R/W
- Z86233 Z86243 Z86733 Z86743 Z86C02 Z86C04 Z86C08 Z86C15 Z86C21 Z86C30 Z86C31 Z86C33 Z86C36 Z86C40 Z86C43 Z86C61 Z86C62 Z86C63 Z86C65 Z86C83 Z86C90 Z86C91 Z86C93 Z86C96 Z86E02 Z86E03 Z86E04 Z86E06 Z86E07 Z86E08 Z86E15 Z86E21 Z86E30 Z86E31 Z86E33 Z86E34 Z86E40 Z86E43 Z86E44 Z86E61 Z86E63 Z86E83 Z86K15 Z86L02 Z86L04 Z86L08 Z86L16 Z8E000 Z8E001 Z8PE003