程序完成功能:val3 = val1 + val2。
#include <stdio.h>
int main()
{
unsigned int val1 = 1;
unsigned int val2 = 2;
unsigned int val3 = 9;
printf("val1:%d,val2:%d,val3:%d\n",val1,val2,val3);
asm volatile(
"movl $0,%%eax\n\t"
"addl %1,%%eax\n\t"
"addl %2,%%eax\n\t"
"movl %%eax,%0\n\t"
:"=m"(val3)
:"c"(val1),"d"(val2)
);
printf("val1:%d+val2:%d=val3:%d\n",val1,val2,val3);
return 0;
}
内嵌汇编语法
__asm__(
汇编语句模块:
输出部分:
输入部分:
破坏描述部分);