PCDIDE COMPILER Custom Computer Services Inc (CCS), PCDIDE COMPILER Datasheet - Page 342

PCD C-COMPILER PIC24, DSPIC

PCDIDE COMPILER

Manufacturer Part Number
PCDIDE COMPILER
Description
PCD C-COMPILER PIC24, DSPIC
Manufacturer
Custom Computer Services Inc (CCS)
Type
Compilerr
Datasheet

Specifications of PCDIDE COMPILER

For Use With/related Products
Microchip PIC24/dsPIC®
Lead Free Status / RoHS Status
Not applicable / Not applicable
Other names
429-1008
PCD C Compiler Reference Manual January 2011
Explicit conversion may be done at any point with (type) inserted before the expression to be
converted. For example in the above the perhaps desired effect may be achieved by doing:
i32 = i16 - ((long)i8 + i8)
In this case the first i8 is converted to 16 bit, then the add is a 16 bit add and the second i8 is
forced to 16 bit.
A common C programming error is to do something like:
i16 = i8 * 100;
When the intent was:
i16 = (long) i8 * 100;
Remember that with unsigned ints (the default for this compiler) the values are never negative. For
example 2-4 is 254 (in 8 bit). This means the following is an endless loop since i is never less than
0:
int i;
for( i=100; i>=0; i--)
How can a constant data table be placed in ROM?
The compiler has support for placing any data structure into the device ROM as a constant read-
only element. Since the ROM and RAM data paths are separate , there are restrictions on how the
data is accessed. For example, to place a 10 element BYTE array in ROM use:
BYTE CONST TABLE [10]= {9,8,7,6,5,4,3,2,1,0};
and to access the table use:
x = TABLE [i];
OR
x = TABLE [5];
BUT NOT
ptr = &TABLE [i];
In this case, a pointer to the table cannot be constructed.
Similar constructs using CONST may be used with any data type including structures, longs and floats.
328

Related parts for PCDIDE COMPILER