Raisonance
8051 C Compiler - 80C51 C Compiler raisonance
Raisonance - Embedded Development Tools
Download free software Access our support forum
sitemap




access the Price List

 

 RC-51 8051 C compiler 

The RC-51 8051 C compiler is fully integrated into RIDE and supports the ANSI standard for the 'C' language, expanded with keywords that are specific to the 8051 to allow easy access to hardware and specific functions.

8051 C Compiler Benchmarks

alien

asm

at

bdata

bit

code

data

generic

idata

interrupt

intrinsic

pdata

sbit

sfr

using

xdata

Memory models
The RC51 C compiler supports 5 different memory models. Memory models allow to optimize the generated code to the 8051 derivative you are using as well as to the size of you application.

Model Default memory type xdata memory stack
location
Notes
TINY data *** idata suitable for the Philips 8x75x processors
= SMALL + ROM(SMALL)
SMALL data no idata/pdata the allocation of variables in external data memory is still possible
COMPACT pdata yes idata/pdata same as LARGE with smaller code size
LARGE xdata yes idata/pdata suitable for big applications
HUGE pdata yes pdata suitable for the most complex applications.
return addresses and parameters are stored in xdata memory.

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:

  • 32-bits  : " float " (IEEE754 single precision),

BCD Float:

  • 32-bit words for FLOAT

  • 48-bit words for DOUBLE (by default)

  • 56-bit words for LONG DOUBLE

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:

  1. 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

  2. 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.

  3. 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.

Home | Company Profile | News & Events | Products | Support | Download | Buy on line | Contact