|
Base Types
Integer Types:
-
8-bit : " signed char " and " unsigned
char ",
-
16-bit : " signed int " and " unsigned
int ",
-
32-bit : " signed long " and " unsigned
long ",
Real Types:
BCD Float:
Pointer Types
Two types of pointers are always available, generic pointers and
space qualified pointers.
Code Optimizations
RC-51 C Compiler optimizes the code to be both compact and fast. Tests show
that it produces one the most efficient codes available in the market.
To get the absolutely smallest possible code it is recommended to use RC-51 together
with CodeCompressor.
|
Parameter Passing
Three cases are distinguished according to the value of REGPARMS
and whether the function was declared with the 'alien' qualifier:
-
NOREGPARMS: No registers are used for function parameter passing.
Instead the internal stack is used for reentrant functions otherwise
parameters are stored in the local variable pseudo-static segment
-
REGPARMS: Registers may be used to pass parameters, which significantly
improves system performance. Up to 3 parameters may be passed in
CPU registers and parameters that can not be passed in registers
are processed as for the NOREGPARMS case.
-
In 'alien' functions the DATA pseudo-static segment is always
used. Alien function complies with the PL/M-51 parameter passing
convention.
Libraries
RC-51 C Compiler is supplied with ANSI 'C' standard libraries as described
in: math.h, stdio.h, string.h, ctype.h, and stdlib.h standard header
files.
|