MC68HC711PH8 Motorola, MC68HC711PH8 Datasheet - Page 200

no-image

MC68HC711PH8

Manufacturer Part Number
MC68HC711PH8
Description
High-density Complementary Metal Oxide Semiconductor (HCMOS) Microcomputer Unit
Manufacturer
Motorola
Datasheet
10
10.4.2
Nonmaskable interrupts are useful because they can always interrupt CPU operations. The most
common use for such an interrupt is for serious system problems, such as program runaway or
power failure. The XIRQ input is an updated version of the NMI (nonmaskable interrupt) input of
earlier MCUs.
Upon reset, both the X-bit and I-bit of the CCR are set to inhibit all maskable interrupts and XIRQ.
After minimum system initialization, software can clear the X-bit by a TAP instruction, enabling
XIRQ interrupts. Thereafter, software cannot set the X-bit. Thus, an XIRQ interrupt is a
nonmaskable interrupt. Because the operation of the I-bit-related interrupt structure has no effect
on the X-bit, the internal XIRQ pin remains unmasked. In the interrupt priority logic, the XIRQ
interrupt has a higher priority than any source that is maskable by the I-bit. All I-bit-related
interrupts operate normally with their own priority relationship.
When an I-bit-related interrupt occurs, the I-bit is automatically set by hardware after stacking the
CCR byte. The X-bit is not affected. When an X-bit-related interrupt occurs, both the X and I bits
are automatically set by hardware after stacking the CCR. A return from interrupt instruction
restores the X and I bits to their pre-interrupt request state.
10.4.3
Because not all possible opcodes or opcode sequences are defined, the MCU includes an illegal
opcode detection circuit, which generates an interrupt request. When an illegal opcode is detected
and the interrupt is recognized, the current value of the program counter is stacked. After interrupt
service is complete, the user should reinitialize the stack pointer to ensure that repeated execution
of illegal opcodes does not cause stack underflow. Left uninitialized, the illegal opcode vector can
point to a memory location that contains an illegal opcode. This condition causes an infinite loop
that causes stack underflow. The stack grows until the system crashes.
The illegal opcode trap mechanism works for all unimplemented opcodes on all four opcode map
pages. The address stacked as the return address for the illegal opcode interrupt is the address
of the first byte of the illegal opcode. Otherwise, it would be almost impossible to determine
whether the illegal opcode had been one or two bytes. The stacked return address can be used
as a pointer to the illegal opcode, so that the illegal opcode service routine can evaluate the
offending opcode.
10.4.4
SWI is an instruction, and thus cannot be interrupted until complete. SWI is not inhibited by the
global mask bits in the CCR. Because execution of SWI sets the I mask bit, once an SWI interrupt
begins, other interrupts are inhibited until SWI is complete, or until user software clears the I bit in
the CCR.
MOTOROLA
10-16
Nonmaskable interrupt request (XIRQ)
Illegal opcode trap
Software interrupt
RESETS AND INTERRUPTS
MC68HC11PH8
TPG

Related parts for MC68HC711PH8