beautypg.com

Additional keywords for storage specification – Zilog ZUSBOPTS User Manual

Page 185

background image

UM017105-0511

Language Extensions

Zilog Developer Studio II – ZNEO™

User Manual

157

The enumeration data type is defined as

int

as per ANSI C. The C-Compiler provides

language extension to specify the enumeration data type to be other than

int

.

Setting Flash Option Bytes in C

– see page 168

The ZNEO CPU has four Flash option bytes. The C-Compiler provides language
extension to define these Flash option bytes.

Supported New Features from the 1999 Standard

– see page 169

The ZNEO 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.

Additional Keywords for Storage Specification

The

_Near

,

_Far

,

_Rom

, and

_Erom

keywords are storage class specifiers and are used to

control the allocation of data objects by the compiler. They can be used on individual data
objects similar to

const

and

volatile

keywords in the ANSI C standard. The storage

specifiers can only be used to control the allocation of global and static data. The alloca-
tion of local data (nonstatic local) and function parameters is decided by the compiler and
is described in later sections. Any storage specifier used on local and parameter data is
ignored by the compiler.

The Zilog header file <

zneo.h

> defines macros to permit the use of the more familiar

keywords:

near

,

far

,

rom

, and

erom

. The reason for not using these keywords directly is

to avoid conflict with C identifiers in a preexisting C program. (To avoid conflicts, current
ANSI recommendations are that keywords for vendor extensions to the C language begin
with an underscore and capital letter.)

The data allocation for various storage class specifiers is shown in Figure 126 and
described in the following sections:

_Near

– see page 158

_Rom

– see page 158

_Erom

– see page 159

_Far

– see page 159

This manual is related to the following products: