Keil Logo

Directive List

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

Directive Group Description
AREGS Object Enables absolute register (ARn) addressing.
ASM Source Marks the beginning of an inline assembly block.
BROWSE1 Object Enables source browser information.
CODE1 Listing Includes generated assembly in the listing file.
COMPACT1 Object Selects the COMPACT memory model.
COND1 Listing Includes (in the listing file) conditional source lines skipped by the preprocessor.
DEBUG1 Object Includes debugging information in the object file.
DEFINE2 Source Defines preprocessor names on the command line.
DISABLE Object Disables interrupts for the duration of a single function.
EJECT Listing Inserts a form feed character into the listing file.
ENDASM Source Marks the end of an inline assembly block.
FARWARNING Object Issue a warning when only 16-bit offset calculations are performed for far addresses.
FIXXC800 Object Disable generation of MOV dir,dir instruction with two SFR registers.
FLOATFUZZY Object Sets the number of bits rounded for floating-point comparisons.
INCDIR1 Source Sets additional include file paths.
INTERVAL1 Object Specifies the interval to use for interrupt vectors.
INTPROMOTE1 Object Enables ANSI integer promotion rules.
INTVECTOR1 Object Specifies the base address for interrupt vectors.
LARGE1 Object Selects the LARGE memory model.
LISTINCLUDE Listing Adds contents of include files into the listing file.
MAXARGS1 Object Specifies the maximum size of variable-length argument lists.
MOD517 Object Enables support for additional hardware features of the Infineon 80C517 and compatible devices.
MODA2 Object Enables dual data pointer support for the Atmel 82x8252 and compatible devices.
MODAB2 Object Enables dual data pointer support for the Analog Devices Microconverters (ADuC B2 devices).
MODDA Object Enables arithmetic accelerator support for the Dallas 80C390, 80C400, and 5240.
MODDP2 Object Enables dual data pointer support for the Dallas 320, 520, 530, 550, and compatible devices.
MODP2 Object Disables dual data pointer support for Philips and Atmel devices.
NOAMAKE1 Object Excludes build information from the object file.
NOAREGS Object Disables absolute register (ARn) addressing.
NOCOND1 Listing Excludes (from the listing file) conditional source lines skipped by the preprocessor.
NOEXTEND1 Source Disables Cx51 extensions to ANSI C.
NOINTPROMOTE1 Object Disables ANSI integer promotion rules.
NOINTVECTOR1 Object Disables generation of interrupt vectors.
NOMOD517 Object Disables support for additional hardware features of the Infineon 80C517 and compatible devices.
NOMODA2 Object Disables dual data pointer support for the Atmel 82x8252 and compatible devices.
NOMODAB2 Object Disables dual data pointer support for the Analog Devices Microconverters (ADuC B2 devices).
NOMODDA Object Disables arithmetic accelerator support for the Dallas 80C390, 80C400, and 5240.
NOMODDP2 Object Disables dual data pointer support for the Dallas 320, 520, 530, 550, and compatible devices.
MODP2 Object Enables dual data pointer support for Philips and Atmel devices.
NOOBJECT1 Object Disables object file generation.
NOPRINT1 Listing Disables listing file generation.
NOREGPARMS Object Disables passing parameter in registers.
OBJECT1 Object Specifies the name for the object file.
OBJECTADVANCED1 Object Adds additional information to the object file for linker-level program optimizations.
OBJECTEXTEND1 Object Adds additional debugging information to the object file.
OMF21 Object Generates an OMF2 object module.
ONEREGBANK Object Generates code for programs that use only one register bank.
OPTIMIZE Object Specifies the level of optimization performed by the compiler.
ORDER1 Object Allocates storage for variables in the order in which they are declared.
PAGELENGTH1 Listing Specifies the number of lines on a page in the listing file.
PAGEWIDTH1 Listing Specifies the number of characters on a line in the listing file.
PREPRINT1 Listing Produces a preprocessor listing file with expanded macros.
PRINT1 Listing Specifies the name for the listing file.
PSOC1 Object
Generate interrupt vectors for Cypress PSoC devices.
REGPARMS Object Enables passing parameter in registers.
RESTORE Object Restores settings for AREGS, REGPARMS, and OPTIMIZE directives.
RET_PSTK1 Object Uses the COMPACT model reentrant stack for return addresses.
RET_XSTK1 Object Uses the LARGE model reentrant stack for return addresses.
ROM1 Object Specifies the ROM model (SMALL, COMPACT or LARGE).
SAVE Object Saves settings for AREGS, REGPARMS, and OPTIMIZE directives.
SMALL1 Object Selects the SMALL memory model.
SRC1 Object Creates an assembler source file instead of an object file.
STRING1 Object Locates implicit string constants to xdata or far memory.
SYMBOLS1 Listing Includes a symbol list in the listing file.
TABS1 Listing Specifies the tab character expansion width for the listing file.
USERCLASS1 Object Renames memory classes which allows more flexible variable location.
VARBANKING1 Object Enables far memory type variables.
WARNINGLEVEL1 Listing Selects the level of warning detection.
XCROM1 Object Assumes const xdata variables are stored in ROM.

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.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.