10.5 __asm

このキーワードは、コンパイラから ARM アセンブラ armasm に情報を渡します。

このキーワードの正確なアクションは、使用法によって異なります。

使用法

組み込みアセンブリ
__asm キーワードは、組み込みアセンブリ関数を宣言または定義できます。例えば、
__asm void my_strcpy(const char *src, char *dst);
インラインアセンブリ
__asm キーワードは、インラインアセンブリを関数に組み込むことができます。例えば、
int qadd(int i, int j)
{
    int res;
    __asm
    {
        QADD   res, i, j
    }
    return res;
}
アセンブリラベル
__asm キーワードは、C シンボルのアセンブリラベルを指定できます。例えば、
int count __asm__("count_v1"); // count ではなく count_v1 をエクスポート
名前付きレジスタ変数
__asm キーワードは、名前付きレジスタ変数を宣言できます。例えば、
register int foo __asm("r0");
関連する概念
7.26 コンパイラでの組み込みアセンブラのサポート
7.1 インラインアセンブリ言語に対するコンパイラサポート
関連する参考文書
10.159 名前付きレジスタ変数
9.36 アセンブララベル
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.