gccでインラインアセンブリ機能を利用しようとしたら、だいぶ記法が変態的(って言ったら怒られるかな^ー^;)だったのでメモ。 1 #include <stdio.h> 2 3 int main(int argc,char* argv[]){ 4 int a=10,b=0; 5 6 printf("before:%d\n",b); 7 8 //----memo---- 9 //通常のGASの構文では、レジスタを利用するためにプレフィックスとして 10 //%を1つだけつける。 11 //ところが、gccのインラインアセンブリの構文では、 12 //C言語中で宣言された変数を利用するために、レジスタを利用する 13 //プレフィックスを変更してあげる必要がある。具体的には、 14 // レジスタ:%%レジスタ名 15 // 変数名 :%C言語中の変数名 16 //となる。 17 // 18 /

