SW500010 Microchip Technology, SW500010 Datasheet - Page 110

HI-TECH C PRO FOR PIC10/12/16

SW500010

Manufacturer Part Number
SW500010
Description
HI-TECH C PRO FOR PIC10/12/16
Manufacturer
Microchip Technology
Type
Compilerr
Series
PIC10/12/16r
Datasheets

Specifications of SW500010

Supported Families
PIC10, PIC12, PIC16
Core Architecture
PIC
Software Edition
Professional
Kit Contents
Software And Docs
Mcu Supported Families
PIC10/12/16
Tool Type
Compiler
Lead Free Status / RoHS Status
Not applicable / Not applicable
For Use With/related Products
PIC10, PIC12, PIC14, PIC16, PIC16E
Lead Free Status / Rohs Status
Lead free / RoHS Compliant
Other names
019P
778-1006
778-1006
Preprocessing
3.11.3.4 The #pragma printf_check Directive
Certain library functions accept a format string followed by a variable number of arguments in the
manner of printf(). Although the format string is interpreted at runtime, it can be compile-time
checked for consistency with the remaining arguments.
includes the directive #pragma printf_check(printf) const to enable this checking for
printf(). You may also use this for any user-defined function that accepts printf-style format
strings. The qualifier following the function name is to allow automatic conversion of pointers in
variable argument lists. The above example would cast any pointers to strings in RAM to be pointers
of the type (const char * )
See Section 2.6.58.
3.11.3.5 The #pragma regsused Directive
HI-TECH C will automatically save context when an interrupt occurs. The compiler will determine
only those registers and objects which need to be saved for the particular interrupt function defined.
The #pragma regsused directive allows the programmer to indicate register usage for functions
that will not be “seen” by the code generator, for example if they were written in assembly code.
This cannot be used for specifying the used registers for C functions.
where routine_name is the assembly name of the function or routine whose register usage is
being defined, and register_list is a space-separated list of registers names. Those registers
not listed are assumed to be unused by the function or routine. The code generator may use any
unspecified registers to hold values across a function call. Hence, if the routine does in fact use these
registers, unreliable program execution may eventuate.
110
This directive enables this checking for the named function, e.g. the system header file <stdio.h>
Note that the warning level must be set to -1 or below for this option to have any visible effect.
The general form of the pragma is:
#pragma regsused routine_name register_list
Register Name
fsr
wreg
status
Table 3.10: Valid Register Names
indirect data pointer
the working register
the status register
Description
C Language Features

Related parts for SW500010