SW006012 Microchip Technology, SW006012 Datasheet - Page 140

C COMPILER FOR DSPIC30F FAMILY

SW006012

Manufacturer Part Number
SW006012
Description
C COMPILER FOR DSPIC30F FAMILY
Manufacturer
Microchip Technology
Type
MPLAB® C30 Compilerr
Series
PIC24 & DsPICr
Datasheets

Specifications of SW006012

Supported Families
PIC24, DsPIC30F And DsPIC33F
Core Architecture
PIC, DsPIC
Kit Contents
Software And Docs
Mcu Supported Families
PIC24 MCUs And DsPIC DSCs
Tool Type
Compiler
Processor Series
PIC24, dsPIC
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
dsPIC30F
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
MPLAB
B.2
DS51284F-page 134
BUILT-IN FUNCTION LIST
®
C30 User’s Guide
This section describes the programmer interface to the MPLAB C30 C compiler built-in
functions. Since the functions are “built in”, there are no header files associated with
them. Similarly, there are no command-line switches associated with the built-in
functions – they are always available. The built-in function names are chosen such that
they belong to the compiler's namespace (they all have the prefix
will not conflict with function or variable names in the programmer's namespace.
__
Description:
Prototype:
Argument:
Return Value:
Assembler Opera-
tor / Machine
Instruction:
Error Messages
__
Description:
Prototype:
Argument:
Return Value:
Assembler Opera-
tor / Machine
Instruction:
Error Messages
builtin_addab
builtin_add
Add accumulators A and B with the result written back to the specified
accumulator. For example:
will generate:
int __builtin_addab(void);
None
Returns the addition result to an accumulator.
addad
An error message will be displayed if the result is not an accumulator
register.
Add value to the accumulator specified by result with a shift
specified by literal shift. For example:
If value is held in w0, the following will be generated:
int __builtin_add(int value, const int shift);
value
shift
Returns the shifted addition result to an accumulator.
add
An error message will be displayed if:
• the result is not an accumulator register
• the shift value is not a literal within range
register int result asm("A");
result = __builtin_addab();
add A
register int result asm("A");
int value;
result = __builtin_add(value,0);
add w0, #0, A
Integer number to add to accumulator value.
Amount to shift resultant accumulator value.
© 2007 Microchip Technology Inc.
__builtin_
), so they

Related parts for SW006012