4.1.4. __asm

此关键字用于将信息从编译器传递到 ARM 汇编程序 armasm

此关键字执行的精确操作取决于其用法。

用法

嵌入式汇编程序

可以使用 __asm 关键字声明或定义嵌入式汇编程序。 例如:


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

有关详细信息,请参阅编译器用户指南中的第 6-16 页的嵌入式汇编程序

内联汇编程序

可以使用 __asm 关键字将内联汇编合并到函数中。 例如:


int qadd(int i, int j)

{

    int res;

    __asm

    {

        QADD   res, i, j

    }

    return res;

}

有关详细信息,请参阅编译器用户指南中的第 6-2 页的内联汇编程序

汇编程序标签

可以使用 __asm 关键字为 C 符号指定汇编程序标签。 例如:


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

有关详细信息,请参阅汇编程序标签

已命名的寄存器变量

可以使用 __asm 关键字声明已命名的寄存器变量。 例如:


register int foo __asm("r0");

有关详细信息,请参阅已命名的寄存器变量

另请参阅

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0348AC
Non-Confidential