![](http://datasheet.mmic.net.cn/390000/ST62T28C_datasheet_16835098/ST62T28C_28.png)
28/84
28
ST62T28C/E28C
INTERRUPTS
(Cont’d)
3.4.2 Interrupt Procedure
The interrupt procedure is very similar to a callpro-
cedure, indeed the user can consider the interrupt
as an asynchronous call procedure. As this is an
asynchronous event, the user cannot know the
context and the time at which it occurred. As a re-
sult, the user should save all Data space registers
which may be used within the interrupt routines.
There are separate setsof processor flags for nor-
mal, interrupt and non-maskable interrupt modes,
which are automatically switched and so do not
need to be saved.
The following list summarizes the interrupt proce-
dure:
MCU
– The interrupt is detected.
– The C and Z flags are replaced by the interrupt
flags (or by the NMI flags).
– The PC contents are stored in the first level of
the stack.
– The normalinterrupt lines are inhibited (NMI still
active).
– The first internal latch is cleared.
– TheassociatedinterruptvectorisloadedinthePC.
WARNING:
In some circumstances, when a
maskable interrupt occurs while the ST6 core is in
NORMAL mode and especially during the execu-
tion of an ”ldi IOR, 00h” instruction (disabling all
maskable interrupts): if the interrupt arrives during
the first 3 cycles of the ”ldi” instruction (which is a
4-cycle instruction) the core will switch to interrupt
mode BUT the flags CN and ZN will NOT switch to
the interrupt pair CI and ZI.
User
– User selected registers are saved within the in-
terrupt service routine (normally on a software
stack).
– Thesource ofthe interruptis found bypolling the
interrupt flags (if more than one source is associ-
ated with the same vector).
– The interrupt is serviced.
– Return from interrupt (RETI)
MCU
– Automatically theMCU switches back to the nor-
mal flag set (or the interrupt flag set) and pops
the previous PC value from the stack.
The interrupt routine usually begins by the identify-
ing the device which generated the interrupt re-
quest (by polling). The user should save the regis-
ters which are usedwithin theinterrupt routine in a
software stack. After the RETI instruction is exe-
cuted, the MCU returns to the main routine.
Figure 20. Interrupt Processing Flow Chart
INSTRUCTION
FETCH
INSTRUCTION
EXECUTE
INSTRUCTION
THE IWAS
A RETI
CLEAR
INTERRUPT MASK
SELECT
PROGRAM FLAGS
”POP”
THE STACKED PC
CHECK IF THERE IS
AN INTERRUPT REQUEST
AND INTERRUPTMASK
SELECT
INTERNALMODE FLAG
PUSH THE
PC INTO THE STACK
LOAD PC FROM
INTERRUPT VECTOR
(FFC/FFD)
SET
INTERRUPT MASK
NO
NO
YES
IS THE CORE
NALREADY IN
VA000014
YES
NO
YES