beautypg.com

Language extensions, Ion. see the, Guage extensions – Zilog Z8F0130 User Manual

Page 218

background image

Using the ANSI C-Compiler

UM013037-1212

194

Zilog Developer Studio II – Z8 Encore!
User Manual

The Command Processor allows you to use commands or script files to automate the exe-
cution of a significant portion of the IDE’s functionality. For more information about using
the Command Processor, see

Appendix D. Using the Command Processor

on page 489.

Language Extensions

To give you additional control over the way the Z8 Encore! C-Compiler allocates storage
and to enhance its ability to handle common real-time constructs, the compiler implements
the following extensions to the ANSI C standard:

Additional Keywords for Storage Specification

– see page 195

The compiler divides the Z8 Encore! CPU memory into three memory spaces: ROM,
RData (near RAM), and EData (far RAM). It provides the following keywords with
which you can control the storage location of data in these memory spaces:

near

far

rom

These keywords can also be used to specify the memory space to which a pointer is
pointing to.

Memory Models

– see page 199

The compiler supports two memory models: small and large. These models allow you
to control where data are stored by default. Each application can only use one model.
The model can affect the efficiency of your application. Some of the memory alloca-
tion defaults associated with a memory model can be overridden using the keywords
for storage specification.

Call Frames

– see page 200

Call frames hold the arguments, local variables, and other pertinent information of an
instantiation of a procedure or function at a time. The Zilog Z8 Encore! compiler sup-
ports two types of call frames: static and dynamic. Dynamic call frames are allocated
on the run-time stack. Static call frames are allocated in static memory. The call frame
can affect the efficiency of your application.

Interrupt Support

– see page 202

The Z8 Encore! 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.

Note: