C语言函数调用汇编语言函数.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言函数调用汇编语言函数.pdf

维普资讯 第 1卷 第 1期 石河子大学学报 (自然科学版) VoI_1 No 1 1997年 3月 JournalofShihe~University(NaturalScience) M ar. 1997 60C语言函数调用汇编语言函数 一 彭 军 弋 |C (计算机科学系 提要 本文通过分析 TurboC的编译方法 .给出了C语 言调用外部汇编模块的方法。 关键词 编译 函数 模块 ,_、 :一 、 … …将一。汇编殍言出 … 一凼耘凋,,u—~turbc.CL C语言是现在比较流行的程序设计语言一它的许多优点是其它程序设计语言无法相比的. 但是在某些情况下需要使用C语言函数调用汇编语言函数,以便得到更’陕的速度,例如在编 写某些图形函数时,用C语言编写时显示速度很慢,而用汇编语言来编写时速度就快多了。本 文将介绍在 TurboC2.0环境下如何实现C语言调用独立的外部汇编模块 。 1 思路 首先利用 Turboc2.0提供的实用程序 tCC.exe,将 C语言源程序翻译 为等价的汇编程 序,通过分析这些汇编样l 了解TurboC的六种编译模式是如何进行编译的,然后按照不同 模式下的编译规则编写能被 c语言调用的汇编函数。 2 TurboC的编译模式 TurboC提供 六种不同的编译模式.以适应不同的编程需要,它们是 tiny(极小模式)、 small(小模式)eolnpact(紧缩模式)、medium(中模式)、large(大模式)、huge(巨模式)各种模 式下函数调用类型和数据指针类型缺省情况如表 1。 表 1 六种模式函数调用类型和数据指针类型 TurboC2.0提供了一个实用程序 tcc.exet此程序的功能之一是可 以将 C语言程序翻译 成与之等价的不同模式下的汇编程序一格式为:tcc s—mtJ—msj—mcl—mml—mIJ—mhc 源文件名。其中一mt:tiny模式.一ms}small模式 一mc:compact模式,一mm:medium模式, 一 ml:large模式,一mh:huge模式.生 成的汇编程 序文件名与 C源 文件名相 同,扩展符 为 收稿tt期 :1996一u一04 维普资讯 56 石河子大学学报 (自然科学版j 第 1卷 asm 刺用此程序可 分析六种模式是如何进行编译的。先编写如下的c语言程序 exam.c: extern t; externfunc(); inttl一 1,t2; m ain( . ) {intx,Y-s; staticints1— 2.s2; t2— 3;s2— 4;t一 5;x一 1O;y一 20; s=sum (x.y);func(){) intsum (Jutx.intv) {intz; —x+Y;return ;} 在命令行下执行 tcc—s—msexam.c,生成小模式下的汇编程序exam.asm.将此程序 中 的无用语句删除.相同的段合并后.得到如下的程序清单 : l—TEXT segmentbytepublic’CODE’ ;代码段开始 2DGRoUP group— DATA .-- BSS assumecs:一TEXT.ds: DGRoUP.ss:DGROUP extrn — fuD.c:near :声明外部近调用函数 runeO proe near ;定义函数 main(),且

文档评论(0)

zhoujiahao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档