| |||
| Home > Compiler-specific Features > __asm | |||
This keyword is used to pass information from the compiler
to the ARM assembler armasm.
The precise action of this keyword depends on its usage.
The __asm keyword can be used
to declare or define an embedded assembly function. For example:
__asm void my_strcpy(const char *src, char *dst);
Compiler support for embedded assembler in Using the Compiler for more information.
The __asm keyword can be used to incorporate
inline assembly into a function. For example:
int qadd(int i, int j)
{
int res;
__asm
{
QADD res, i, j
}
return res;
}
See Compiler support for inline assembly language in Using ARM Compiler for more information.
The __asm keyword can be used to specify
an assembler label for a C symbol. For example:
int count __asm__("count_v1"); // export count_v1, not count
See Assembler labels for more information.
The __asm keyword can be used
to declare a named register variable. For example:
register int foo __asm("r0");
See Named register variables for more information.