C251 User's Guide

Directive List

The following table is an alphabetical list of the control directives available in the C251 Compiler.

DirectiveGroupDescription
ASMSourceMarks the beginning of an inline assembly block.
ASMEXPANDSourceMarks the beginning of an inline assembly block.
BROWSE1ObjectEnables source browser information.
CODE1ListingIncludes generated assembly in the listing file.
COND1ListingIncludes (in the listing file) conditional source lines skipped by the preprocessor.
DEBUG1ObjectIncludes debugging information in the object file.
DEFINE2SourceDefines preprocessor names on the command line.
DISABLEObjectDisables interrupts for the duration of a single function.
EJECTListingInserts a form feed character into the listing file.
ENDASMSourceMarks the end of an inline assembly block.
FIXDRK1ObjectReplaces the INC DRk,#const instruction with an ADD DRk,#const instruction.
FLOAT64ObjectEnables 64-bit (double-precision) floating-point math for double variable types.
FLOATFUZZYObjectSets the number of bits rounded for floating-point comparisons.
FUNCTIONSObjectAllows the memory model and reentrant attribute to be changed.
HPTRObjectChanges the default memory type to huge for the memory models SMALL, XSMALL, and LARGE.
HOLDObjectNumeric size limits for global variables placed in data, near, and xdata memory.
INCDIR1SourceSets additional include file paths.
INTERVAL1ObjectSpecifies the interval to use for interrupt vectors.
INTR21ObjectInforms the C251 compiler that the 251 MCU saves the low order 16 bits of the program counter but does not automatically save PSW1 when entering an interrupt.
INTVECTOR1ObjectSpecifies the base address for interrupt vectors.
LARGE1ObjectSelects the LARGE memory model.
LISTINCLUDEListingAdds contents of include files into the listing file.
MAXARGS1ObjectSpecifies the maximum size of variable-length argument lists.
MODBINObjectInstructs the C251 compiler to generate instructions for the binary mode of the 251.
NAMEObjectThe name of the object module may be changed.
NOALIAS1ObjectDisable alias checking for pointer access optimization.
NOAMAKE1ObjectDisables AutoMAKE project information records.
NVM_CONST1ObjectAssume that const variables change in value due to in-system programming.
NOAASMEXPANDObjectPrevents expanding symbols used in ASM/ENDASM blocks.
NOCASE1ObjectConvert indentifiers to upper case for the object file.
NOCOND1ListingExcludes (from the listing file) conditional source lines skipped by the preprocessor.
NOEXTEND1SourceDisables C251 extensions to ANSI C.
NOINTVECTOR1ObjectDisables generation of interrupt vectors.
NOOBJECT1ObjectDisables object file generation.
NOPRINT1ListingDisables listing file generation.
NOREGPARMSObjectDisables passing parameter in registers.
OBJECT1ObjectSpecifies the name for the object file.
OBJECTADVANCED1ObjectAdds additional information to the object file for linker-level program optimizations.
OPTIMIZEObjectSpecifies the level of optimization performed by the compiler.
ORDER1ObjectAllocates storage for variables in the order in which they are declared.
PACK1objectControls the packing of structure types.
PAGELENGTH1ListingSpecifies the number of lines on a page in the listing file.
PAGEWIDTH1ListingSpecifies the number of characters on a line in the listing file.
PARM2511ObjectUse C251 parameter passing conventions (default).
PARM511ObjectUse C51 parameter passing conventions (default).
PREPRINT1ListingProduces a preprocessor listing file with expanded macros.
PREPRINTONLY1SourceCreate a preprocessor output file only, no translation and code generation takes place.
PRINT1ListingSpecifies the name for the listing file.
REGFILE1ObjectSpecifies the register definition file for global register optimization.
REGPARMSObjectEnables passing parameter in registers.
RENAMECODEObjectRename a code segment.
RESTOREObjectRestores settings for REGPARMS, and OPTIMIZE directives.
ROM1ObjectControl generation of JMP/CALL instructions.
SAVEObjectSaves settings for REGPARMS, and OPTIMIZE directives.
SMALL1ObjectSelects the SMALL memory model.
SRC1ObjectCreates an assembler source file instead of an object file.
STRING1ObjectLocates implicit string constants to xdata or far memory.
SYMBOLS1ListingIncludes a symbol list in the listing file.
TABS1ListingSpecifies the tab character expansion width for the listing file.
TINY1ObjectSelect TINY memory model (Default).
UNSIGNED_CHAR1ObjectTreat plain char as unsigned char.
USERCLASS1ObjectRenames memory classes which allows more flexible variable location.

WARNING1

ListingChange a Warning to an Error or disable a warning.
WARNINGLEVEL1ListingSelects the level of warning detection.
XSMALL1ObjectSelect XSMALL memory model.
XTINY1ObjectSelect XTINY memory model.

Note

  1. These directives apply to the entire source file and may be specified only once on the command line or at the beginning of the source file using the #pragma statement. They may not be used more than once in a source file.
  2. Directives and arguments, with the exception of arguments specified with the DEFINE directive, are not case sensitive.