请问一下,汇编怎样调用C?

[复制链接]
3187|10
 楼主| cgkdxx 发表于 2008-6-3 08:38 | 显示全部楼层 |阅读模式
主体功能都是汇编的,加一个功能,是C写的,怎样调用这个函数?谢谢!!
xwj 发表于 2008-6-3 08:44 | 显示全部楼层

主要就是参数传递问题,仔细去看编译器的帮助

最简单的方法就是写个空函数,用SRC选项编译看看生成的代码
surperchen 发表于 2008-6-4 11:34 | 显示全部楼层

错了

C里面可以嵌入汇编,但汇编里不能嵌入C
赤铸 发表于 2008-6-4 19:43 | 显示全部楼层

C 和汇编外部函数的调用方式其实没有任何区别

汇编无所谓函数原型,&nbsp;所以汇编程序里只需用<br /><br />EXTERN&nbsp;FUNCNAME<br /><br />声明一下&nbsp;(跟&nbsp;C&nbsp;程序里要声明&nbsp;extern&nbsp;函数一样),&nbsp;只要这个&nbsp;FUNCNAME&nbsp;在另一个&nbsp;OBJ&nbsp;的代码段里确有定义,&nbsp;管它是&nbsp;C&nbsp;还是汇编产生的,&nbsp;都是一样调用&nbsp;(也就是连接器能够帮你生成可执行代码)<br /><br />至于如何正确运行,&nbsp;关键是参数约定,&nbsp;懒人&聪明人都用&nbsp;xwj&nbsp;的办法看&nbsp;:)<br />
IC921 发表于 2008-6-5 00:04 | 显示全部楼层

懒人&聪明人都一样?xwj牛了!

  
 楼主| cgkdxx 发表于 2008-6-5 08:55 | 显示全部楼层

谢谢各位!!

  
Ice_River 发表于 2008-6-5 14:23 | 显示全部楼层

跟 xwj 一帖

或者直接把你的C程序在相应环境下编译成汇编,然后直接嵌入汇编中!
李冬发 发表于 2008-6-6 01:35 | 显示全部楼层

xwj的最正确,从SRC中复制

  
johnylu 发表于 2008-6-6 13:33 | 显示全部楼层

请问一下,汇编怎样调用C?

汇编里怎么就不能调用C了,自己去看下编译器的参考手册先!
tpu 发表于 2008-6-8 22:32 | 显示全部楼层

很简单

参数压栈,返回地址压栈,CALL之。
lai832 发表于 2008-6-9 19:50 | 显示全部楼层

狠.

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

192

主题

1126

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部