1 #include <stdio.h> 2 3 int main(void) 4 { 5 int foo = 10, bar = 15; 6 printf("foo=%d, ", foo); 7 printf("bar=%d ", bar); 8 __asm__ __volatile__("addl %2,%1 " 9 // "addl %%ebx,%%eax " 10 // "addl %%eax,%%ebx " 11 // :"=a"(foo), "=b"(bar) 12 :"=a"(foo) 13 :"a"(foo), "b"(bar) 14 ); 15 printf("foo=%d ", foo); 16 printf("bar=%d ", bar); 17 return 0; 18 }
addl %x,%y ,指将x中的数和y中数相加存入y中。
这是我的第一个内联汇编的代码。贴一个帮助新手的链接:http://blog.csdn.net/guzhou_diaoke/article/details/8393548