c语言 extern_C语言与汇编函数的调用方式

本文介绍了C语言如何调用汇编函数以及汇编如何调用C语言函数的方法。在C语言中,通过extern关键字声明汇编函数,并直接使用函数名调用。在汇编中,通过GLOBAL声明函数,使用CALL指令调用C函数。同时,文章还详细说明了参数传递的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8cb2b8fe3c4f831a9fd8ceed5a9088ce.png

C语言写的函数和汇编写的函数之间可以相互调用,分别编译成机器码后由链接器将其链接成可执行程序。根据“《30天自制操作系统》”中的描述可以概况成如下的形式。

8f6276585d194eb12ea151ffc38beee4.png

1. C语言可调用的汇编函数

1.1 在汇编程序中定义函数

声明函数的属性为 GLOBAL

GLOBAL _函数名

在汇编里函数名 _函数名

 _函数名: 
     ... ;汇编语句,可以调用[ESP+4]的值 
     RET  

1.2 C语言程序中调用汇编函数

开头声明函数

void 函数名(int *;int *;...);

使用函数名调用汇编函数

注意函数前面并没有 "_"

1.3 汇编函数可以带参数,参数会存放在

第一个数字的存放地址:[ESP+4]

第二个数字的存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值