x86汇编与C相互调用

来源:互联网 发布:linux工具链 编辑:程序博客网 时间:2024/05/01 21:50

C函数调用x86纯汇编

实现简单的加法:例如add(2,3);

1、新建main.c文件

#include<stdio.h>#include<stdlib.h>extern int add(int a, int b);int main(){int sum = add(2,3);        printf("sum = %d\n", sum);return 0;}

2、新建add.sam文件

section .datalabel db 4section .textglobal addadd:push ebpmov ebp, espmov eax, [esp + 8]mov edx, [esp + 12]add eax, edx;mov esp, ebppop ebpret

3、编译方法

gcc -g -m32 -c main.c -fPIC -I. -o main.oyasm -m x86 -f elf -DPIC -I. add.asm -o add.ogcc -g -m32 -o demo main.o add.o

堆栈参考网址:http://blog.csdn.net/u013471946/article/details/39994223

原创粉丝点击