首页
社区
课程
招聘
[原创]在MASM中调用标准C函数
发表于: 2008-8-4 07:04 7428

[原创]在MASM中调用标准C函数

2008-8-4 07:04
7428
★ MASM_StdCFun例子:MASM使用标准C函数
缺点:不能检查标准函数中的格式错误等等

;使用标准C函数必须包含的
include msvcrt.inc
includelib msvcrt.lib
在ASM中调用C标准函数与在C环境下使用方式相同,如scanf在ASM中使用addr,而在printf中直接使用变量名。

例子小片断
;Y^X
        invoke crt_pow,qword ptr double_000000003,qword ptr double_000000003
        fstp double_001
        invoke crt_printf,@CTEXT("crt_pow130 = %20.5lf",13,10),double_001

;C的printf与scanf
        .repeat
                invoke crt__flushall
                invoke crt_printf,@CTEXT("浮点数1:")
                invoke crt_scanf,@CTEXT("%lf"),addr double_1
        .until eax != 0

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 101
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谢谢 楼主
今天想看看怎么搞这个
2008-12-20 20:58
0
雪    币: 148
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

缺少文件,请补齐!

谢谢
上传的附件:
2008-12-20 21:25
0
雪    币: 155
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
好像NASM也可以?
2008-12-21 04:25
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
5
这个多语言交叉调用的东西,在嵌入式程序员那里是个基本技能而已。

关键就在于函数调用的约定,或者常说的ABI。其实很简单的啊。
2008-12-21 16:31
0
游客
登录 | 注册 方可回帖
返回
//