ブランチを持つ asm インラインで c の外部関数を呼び出そうとしています。arm m0 命令セットにコンパイルしていますが、不適切な式が返されます。
コードは次のとおりです。
__asm volatile (
" cmp r3,#0 \n"
" b %[my_function] \n" //Call function
" bx r14 \n"
: // no output
: [my_function] "i" (my_function) // input
: "r0" // clobber
);
戻り値は次のとおりです。
/tmp/ccICkDIE.s: Assembler messages:
/tmp/ccICkDIE.s:152: Error: bad expression -- `b #my_function'
私たちは何をする必要がありますか?