GNU 内联汇编学习(1)

 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\n", bar);
 8         __asm__ __volatile__("addl  %2,%1\n\t"
 9 //                             "addl  %%ebx,%%eax\n\t"
10 //                             "addl  %%eax,%%ebx\n\t"
11 //                             :"=a"(foo), "=b"(bar)
12                              :"=a"(foo)
13                              :"a"(foo), "b"(bar)
14                              );
15         printf("foo=%d\n", foo);
16         printf("bar=%d\n", bar);
17         return 0;
18 }

addl %x,%y ,指将x中的数和y中数相加存入y中。

这是我的第一个内联汇编的代码。贴一个帮助新手的链接:http://blog.csdn.net/guzhou_diaoke/article/details/8393548

 

posted @ 2014-11-21 10:58  史力普神  阅读(152)  评论(0编辑  收藏  举报