Function Declarations

C51 provides you with a number of extensions for standard C function declarations. These extensions allow you to:
  Specify a function as an interrupt procedure

  Choose the register bank used

  Select the memory model

  Specify alien (PL/M-51) functions

  Specify reentrancy.

You include these extensions or attributes (many of which may be combined) in the function declaration. Use the following standard format for your C51 function declarations.

 return_type  funcname ( args ) { small | compact | large }
    reentrant, interrupt, using
where:

return_type    is the type of the value returned from the function. If no type is specified, int is assumed.

funcname    is the name of the function.

args    is the argument list for the function.

small, compact, or large    is the explicit memory model for the function.

reentrant    indicates that the function is recursive or reentrant.

interrupt    indicates that the function is an interrupt function.

using    specifies which register bank the function uses.

Descriptions of these attributes and other features are described in detail in the following sections.