Language Implementation
7-71
7
An asm function definition can contain one or more templates. The
compiler selects a template for expansion based on the values and data
types of arguments you specify and based on use of any return value in the
function call. Use of any C expression as an argument to an
asm function
is legal.
Also, any of the following are legal within an
asm function:
• trigraphs
• spliced lines (backslash-newline pairs)
• C-style comments (
/*. . .*/)
• macros and preprocessor directives
asm Function Definition Syntax
The declaration syntax for asm functions and parameters is the same as
standard C function syntax. The following is an informal definition of
asm
function syntax:
asm
return-type name
(
parameter-declarations
)
{
%
control-line
template
[. . .]
}
return-type
is the data type returned by the asm
function.
name
is the identifier used to invoke the asm
function.
parameter-declarations
defines the data types and names of the
asm parameters.
control-line
introduces each
template
, defines the
parameter and return value classes, and
specifies any calling-convention or non-
asm processing.
template
is zero or more lines of text for
processing by the assembler.