#include <stdio.h>
int main()
{
int a = 100, b = 0;
__asm__ __volatile__( "movl %3, %%eax;/n/r"
"movl %%eax, %0;/n/r" /* %0 用来表示 输出的a变量 对应声明:"=r"(a)*/
"movl %2, %%eax;/n/r" /* %2用来表示 输入的a变量 对应声明:"r"(a)*/
"movl %%eax, %0;/n/r"
:"=r"(a),"=r"(b) /* 声明变量 a ,b 为输出,程序段结束后,该值将变更*/
:"r"(a),"r"(b) /* 声明变量 a ,b 为输入,用来在程序中输入,在此也可以不用再次声明这两个变量 在此仅属于示例说明用输入功能的*/
:"%eax"); /* 声明eax将变被更*/