近期在学习linux下C编程,第一个内嵌汇编语言的C程序,其实很简单。
#include <stdio.h>
/*
* the standard:
* __asm__(assembler template
:output operands
:input operands
:list of clobbered registers
)
*/
int main(void)
{
int a =10, b;
__asm__("mov %1, %%eax\n\t"
"mov %%eax, %0\n\t"
:"=r"(b)
:"r"(a)
:"%eax"
);
printf("a = %d, b = %d", a, b);
return 0;
}
其实就是
int a = 10, b;
b = a;
printf("a = %d, b = %d", a, b);
本文介绍了一个简单的C程序示例,该程序利用GCC扩展的内嵌汇编功能实现变量赋值操作,并展示了如何使用__asm__关键字来插入汇编指令。
281

被折叠的 条评论
为什么被折叠?



