Keil Logo

NOREGPARMS Compiler Directive

Abbreviation

None.

Arguments

None.

Default

REGPARMS

µVision

Options — C51 — Misc controls.

Description

The NOREGPARMS directive forces the compiler to pass all function arguments in fixed memory locations. This directive generates parameter passing code which is compatible with Version 1 and Version 2 of the Keil C51 Compiler.

Note

  • You may specify both the REGPARMS and NOREGPARMS directive several times within a source file to compile some functions using register parameters and other functions using the old style of parameter passing. For example:
    #pragma NOREGPARMS      /* Parm passing-old style */
    extern int old_func (int, char);
    
    #pragma REGPARMS        /* Parm passing-in registers */
    extern int new_func (int, char);
    
    main  ()  {
            char a;
            int  x1, x2;
            x1 = old_func (x2, a);
            x1 = new_func (x2, a);
    }
    
  • You may use the NOREGPARMS directive when accessing assembly functions or libraries that were built with older tools.
See Also

REGPARMS

Example
C51 SAMPLE.C NOREGPARMS
  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.