Keil Logo

Version 2.0 Differences

  • Absolute Register Addressing
    C51 now generates code that performs absolute register addressing. This improves execution speed. The directives AREGS and NOAREGS enable or disable this feature.
  • Bit-addressable Memory Type
    Variable types of char and int may now be declared to reside in the bit-addressable internal memory area using the bdata memory specifier.
  • Intrinsic Functions
    Intrinsic functions have been added to the library to support some of the special instructions built into the 8051.
  • Mixed Memory Models
    Calls to and from functions of different memory models are now supported.
  • New Optimizer Levels
    Two new levels of optimization have been added to the C51 ompiler. These new levels support register variables, local common subexpression elimination, loop optimizations, and global common subexpression elimination, to name a few.
  • New Predefined Macros
    The macros __C51__ and __MODEL__ are now defined by the preprocessor at compile time.
  • Reentrant and Recursive Functions
    Individual functions may now be defined as being reentrant or recursive by using the reentrant function attribute.
  • Registers Used for Parameter Passing
    C51 now passes up to 3 function arguments using registers. The REGPARMS and NOREGPARMS directives enable or disable this feature.
  • Support for Memory-specific Pointers
    Pointers may now be defined to reference data in a particular memory area.
  • Support for PL/M-51 Functions
    The alien keyword has been added to support PL/M-51 compatible functions and function calls.
  • Volatile Type Specifier
    The volatile variable attribute may be used to enforce variable access and to prevent optimizations involving that variable.
  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.