You copied the Doc URL to your clipboard.


This keyword passes information from the compiler to the ARM assembler armasm.

The precise action of this keyword depends on its usage.


Embedded assembly

The __asm keyword can declare or define an embedded assembly function. For example:

__asm void my_strcpy(const char *src, char *dst);
Inline assembly

The __asm keyword can incorporate inline assembly into a function. For example:

int qadd(int i, int j)
    int res;
        QADD   res, i, j
    return res;
Assembly labels

The __asm keyword can specify an assembly label for a C symbol. For example:

int count __asm__("count_v1"); // export count_v1, not count
Named register variables

The __asm keyword can declare a named register variable. For example:

register int foo __asm("r0");