07.04.2013 Views

MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip

MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip

MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs ... - Microchip

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

16-Bit C <strong>Compiler</strong> User’s Guide<br />

__builtin_muluu<br />

Assembler Operator<br />

/ Machine<br />

Instruction:<br />

__builtin_nop<br />

mul.uu<br />

Description: Generates a nop instruction.<br />

Prototype: void __builtin_nop(void);<br />

Argument: None.<br />

Return Value: Returns a no operation (nop).<br />

Assembler Operator<br />

/ Machine<br />

Instruction:<br />

nop<br />

__builtin_psvpage<br />

Description: Returns the psv page number of the object whose address is given as a<br />

parameter. The argument p must be the address of an object in an EE<br />

data, PSV or executable memory space; otherwise an error message is<br />

produced <strong>and</strong> the compilation fails. See the space attribute in<br />

Section 2.3.1 “Specifying Attributes of Variables”.<br />

Prototype: unsigned int __builtin_psvpage(const void *p);<br />

Argument: p object address<br />

Return Value: Returns the psv page number of the object whose address is given as a<br />

parameter.<br />

Assembler Operator<br />

/ Machine<br />

Instruction:<br />

psvpage<br />

Error Messages The following error message is produced when this function is used<br />

incorrectly:<br />

“Argument to __builtin_psvpage() is not the address of an object<br />

in code, psv, or eedata section”.<br />

The argument must be an explicit object address.<br />

For example, if obj is object in an executable or read-only section, the<br />

following syntax is valid:<br />

unsigned page = __builtin_psvpage(&obj);<br />

__builtin_psvoffset<br />

Description: Returns the psv page offset of the object whose address is given as a<br />

parameter. The argument p must be the address of an object in an EE<br />

data, PSV or executable memory space; otherwise an error message is<br />

produced <strong>and</strong> the compilation fails. See the space attribute in<br />

Section 2.3.1 “Specifying Attributes of Variables”.<br />

Prototype: unsigned int __builtin_psvoffset(const void *p);<br />

Argument: p object address<br />

Return Value: Returns the psv page number offset of the object whose address is<br />

given as a parameter.<br />

Assembler Operator<br />

/ Machine<br />

Instruction:<br />

psvoffset<br />

DS51284G-page 156 © 2008 <strong>Microchip</strong> Technology Inc.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!