在c程序中嵌入汇编代码的例子
2012-05-21 15:01
183 查看
对不一样的编译器,在c中嵌入汇编的格式也不一样。下面的代码是Red Hat Enterprise中的gcc中编译的。
源程序:
assembly.c
#include<stdio.h>
int x = 2;
int y = 3;
int c = 0;
int main(void)
{
__asm__
(
"push %eax \n"
"mov x, %eax \n"
"add y, %eax \n"
"mov %eax, c \n"
"pop %eax \n"
);
printf("c = %d\n", c);
return 0;
}
说明:gcc采用的汇编格式是AT&T格式,如mov %eax,c的意思是把寄存器eax中的值放入到变量c中。
源程序:
assembly.c
#include<stdio.h>
int x = 2;
int y = 3;
int c = 0;
int main(void)
{
__asm__
(
"push %eax \n"
"mov x, %eax \n"
"add y, %eax \n"
"mov %eax, c \n"
"pop %eax \n"
);
printf("c = %d\n", c);
return 0;
}
说明:gcc采用的汇编格式是AT&T格式,如mov %eax,c的意思是把寄存器eax中的值放入到变量c中。
相关文章推荐
- 在.net程序中嵌入asm汇编代码
- VS2010嵌入汇编模块前基本配置以及一个小例子程序
- 一个源代码与反汇编代码对照的例子
- javascript圆盘抽奖程序实现原理和完整代码例子
- C程序代码中内嵌as汇编(二、占位符)
- 几种程序的反汇编代码入口特征
- 通过库函数API和C代码中嵌入汇编代码剖析系统调用的工作机制
- VS2012下X64平台嵌入汇编程序
- Linux内核分析:使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- C程序反汇编代码分析
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- 汇编写的贪吃蛇的程序(别人写的,我把注释全部写上了,下次我重写一个代码更简洁的)
- 使用JAVA发送HTTP请求(Http Request),返回HTTP响应(Http Response)内容,代码程序例子及原理说明
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过汇编一个简单的C程序,分析汇编代码理解计算机工作原理
- C51程序中使用汇编代码
- 反编译C程序为汇编代码,汇编代码执行过程的分析与思考
- MASM6.15汇编程序例子