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

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
#TYPE
Syntax:
Elements:
Purpose:
#TYPE standard-type=size
#TYPE default=area
#TYPE unsigned
#TYPE signed
#TYPE char=signed
#TYPE char=unsigned
#TYPE ARG=Wx:Wy
#TYPE DND=Wx:Wy
#TYPE AVOID=Wx:Wy
#TYPE RECURSIVE
#TYPE CLASSIC
standard-type is one of the C keywords short, int, long, float, or double
size is 1,8,16, 48, or 64
area is a memory region defined before the #TYPE using the addressmod directive
Wx:Wy is a range of working registers (example: W0, W1, W15, etc)
By default the compiler treats SHORT as 8 bits, INT as 16 bits, and LONG as 32
bits. The traditional C convention is to have INT defined as the most efficient size for
the target processor. This is why it is 16 bits on the dsPIC/PIC24 ® . In order to help
with code compatibility a #TYPE directive may be used to allow these types to be
changed. #TYPE can redefine these keywords.
Note that the commas are optional. Be warned CCS example programs and include
files may not work right if you use #TYPE in your program.
Classic will set the type sizes to be compatible with CCS PIC programs.
This directive may also be used to change the default RAM area used for variable
storage. This is done by specifying default=area where area is a addressmod
address space.
When linking multiple compilation units be aware this directive only applies to the
current compilation unit.
The #TYPE directive allows the keywords UNSIGNED and SIGNED to set the
default data type.
The ARG parameter tells the compiler that all functions can use those working
registers to receive parameters. The DND parameters tells the compiler that all
functions should not change those working registers (not use them for scratch
space). The AVOID parameter tells the compiler to not use those working registers
for passing variables to functions. If you are using recursive functions, then it will use
the stack for passing variables when there is not enough working registers to hold
variables; if you are not using recursive functions, the compiler will allocate scratch
space for holding variables if there is not enough working registers. #SEPARATE
can be used to set these parameters on an individual basis.
The RECURSIVE option tells the compiler that ALL functions can be recursive.
#RECURSIVE can also be used to assign this status on an individual basis.
137

Related parts for PCDIDE COMPILER