Language extensions, Interrupt support – Zilog EZ80F916 User Manual
Page 155

UM014423-0607
Using the ANSI C-Compiler
ZiLOG Developer Studio II
eZ80Acclaim!
®
User Manual
135
LANGUAGE EXTENSIONS
To provide additional support for some frequently used features of embedded applications,
the eZ80Acclaim! C-Compiler implements the following extensions to the ANSI C stan-
dard:
•
“Interrupt Support” on page 135
The eZ80Acclaim! CPU supports various interrupts. The C-Compiler provides
language extensions to designate a function as an interrupt service routine and
provides features to set each interrupt vector.
•
The C-Compiler provides directives for embedding assembly instructions and
directives into the C program.
•
“Placement Directives” on page 142
The placement directives allow users to place objects at specific hardware addresses
and align objects at a given alignment.
•
The C-Compiler supports numerical types of several sizes that are used for fractional
fixed-point representations of values in the range –1 to 1.
•
“Char and Short Enumerations” on page 146
The enumeration data type is defined as
int
as per ANSI C. The C-Compiler provides
language extensions to specify the enumeration data type to be other than
int
.
•
“Supported New Features from the 1999 Standard” on page 147
The eZ80Acclaim! C-Compiler is based on the 1989 ANSI C standard. Some new
features from the 1999 standard are supported in this compiler for ease of use.
Interrupt Support
To support interrupts, the eZ80Acclaim! C-Compiler provides two features. These are
described in the following sections along with some practical information on how to use
interrupts in your C application for the eZ80Acclaim!:
•
“interrupt Keyword” on page 135
•
“Interrupt Vector Setup” on page 136
•
“Using Interrupts in Your Application” on page 138
interrupt Keyword
Functions that are preceded by either of the
#
pragma
s
interrupt
or
nested_interrupt
and functions that are associated with the interrupt storage class are
designated as interrupt handlers. These functions should neither take parameters nor return