__asm

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

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

Show/hide使用法

組み込みアセンブラ

__asm キーワードを使用して、組み込みアセンブリ関数を宣言または定義できます。以下に例を示します。

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

詳細については、『コンパイラの使用』組み込みアセンブラに対するコンパイラサポート(8-36 ページ)を参照して下さい。

インラインアセンブラ

__asm キーワードを使用して、インラインアセンブリを関数に組み込むことができます。以下に例を示します。

int qadd(int i, int j)
{
    int res;
    __asm
    {
        QADD   res, i, j
    }
    return res;
}

詳細については、『コンパイラの使用』インラインアセンブリ言語に対するコンパイラサポート(8-4 ページ)を参照して下さい。

アセンブララベル

__asm キーワードを使用して、C シンボルのアセンブララベルを指定できます。以下に例を示します。

int count __asm__("count_v1"); // count ではなく count_v1 をエクスポート

詳細については、アセンブララベルを参照して下さい。

名前付きレジスタ変数

__asm キーワードを使用して、名前付きレジスタ変数を宣言できます。以下に例を示します。

register int foo __asm("r0");

詳細については、名前付きレジスタ変数を参照して下さい。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711