C251 User's Guide

Implicit Memory Types

If the memory type specifier is omitted in a variable declaration, the default or implicit memory type is automatically selected. Function arguments and automatic variables that cannot be located in registers are also stored in the default memory area.

For global variables, the HOLD directive lets you specify size limits and alternative default memory spaces. Refer to the HOLD directive.

The default memory type is determined by the LARGE, SMALL, TINY, XSMALL and XTINY compiler control directives. Refer to Memory Models for more information.

The following table lists the default memory areas used for each memory model.

Memory
Model
Parameter &
Automatic
Variables
Default
Global
Variables
Default
Constant
Variables
Default
Pointer
Definition
Default
Pointer
Size
TINYdatadatanearnear *2 bytes
XTINYnearnearnearnear *2 bytes
SMALLdatadatacodefar *4 bytes
XSMALLnearnearcodefar *4 bytes
LARGExdataxdatacodefar *4 bytes