SW500010 Microchip Technology, SW500010 Datasheet - Page 90

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
Functions
location encapsulated in a RETLW instructions which can be called and which return with the value
in WREG.
Section 3.3.12.
3.5 Functions
3.5.1 Function Argument Passing
The method used to pass function arguments depends on the size of the argument or arguments.
area of the called function. If there are subsequent arguments, these arguments are also passed in the
argument area of the called function. The argument area is referenced by an offset from the symbol
?_function, where function is the name of the function concerned.
W register, with subsequent arguments being passed in the argument area of the called function.
The function test() will receive the parameter b in its function argument block and a in the W register.
A call:
would generate code similar to:
In this example, the parameter b is held in the memory locations ?_test and ?_test+1.
function or the code used to call a function, it is often helpful to write a dummy C function with the
same argument types as your assembler function, compile this, and then inspect the assembly list
file (PICC --ASMLIST option), allowing you to examine the assembly code.
90
All const-qualified data objects and string literals are placed in the strings psect. See also
If there is only one argument, and it is one byte in size, it is passed in the W register.
If there is only one argument, and it is greater than one byte in size, it is passed in the argument
If there is more than one argument, and the first argument is one byte in size, it is passed in the
Take, for example, the following ANSI-style function:
If you need to determine, for assembly code for example, the exact entry or exit code within a
void test(char a, int b)
{
}
test( a, 8);
movlw 08h
movwf ?_test
clrf
movf
call (_test)
?_test+1
_a,w
C Language Features

Related parts for SW500010