Linux汇编GAS调用C语言函数实例

Blum的书上只讲了C语言调用汇编,没讲汇编调用C语言。我自己尝试了下。最终试验成功了,在此写出与大家分享。期间历经无数错误,无数异常,好在最后成功了。 程序实现一个换值功能,在main.s里定义a=10,b=20,然后调用C语言函数把a,b换值。 新建两个文件分别为main.s和pro.c。 main.s的代码如下: .section .data a: .int 10 b: .int 20 .section .text .globl main .type main,@function #别忘了这句,因为main汇编函数也是被crt0.s调用的,main本质上也是个函数 main: movl $a,%eax movl $b,%ebx pushl %ebx pushl…