beautypg.com

Char and short enumerations, Alignment of a variable – Zilog Z8F0130 User Manual

Page 231

background image

UM013037-1212

Char and Short Enumerations

Zilog Developer Studio II – Z8 Encore!

User Manual

207

char ch1 _At 0xef0;

char ch2 _At …;

char ch3 _At …;

This places

ch1

at address

0xef0

, c

h2

at the next address (

0xef1

) after

ch1

, and

ch3

at

the next address (

0xef2

) after

ch2

. The

_At …

directive can only be used after a previous

_At

or

_Align

directive.

Alignment of a Variable

The following syntax can be used to declare a global or static variable aligned at a speci-
fied alignment:

char ch2 _Align 2; // ch2 is aligned at even boundary

char ch4 _Align 4; // ch4 is aligned at a four byte boundary

Only aligned variables with the

rom

storage class specifier can be initialized. The aligned

variables with the

near

and

far

storage class specifiers cannot be initialized. The unini-

tialized aligned variables are not initialized to zero by the compiler start-up routine.

Char and Short Enumerations

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

to save

space. The following syntax is provided by the C-Compiler to declare them as

char

or

short

:

char enum

{

RED = 0,

YELLOW,

BLUE,

INVALID

} color;

short enum

{

NEW= 0,

OPEN,

FIXED,

VERIFIED,

CLOSED

} status;

Note: