汇编语言与C语言的混合程序设计技术

发布时间:2023-02-04 08:05:51

龙源期刊网http://www.qikan.com.cn汇编语言与C语言的混合程序设计技术作者:康晶晶来源:《计算机时代》2013年第06要:汇编语言作为一种面向机器的语言,具有占用存储空间小、运行速度快的优点,并可直接控制硬件,在某些场合具有重要的作用;然而,汇编语言的编写和调试却相对困难和复杂,在进行数值混合运算与数据处理上尤为突出。C语言具有开发效率高,功能丰富、使用灵活、表达能力强的优点。在软件开发中,采用汇编语言与C语言混合程序设计技术,能有效提高运行效率。笔者结合自身工作经验,具体探讨了这一混合程序设计技术,希望能为广大同行提供借鉴。关键词:汇编语言;C语言;混合编程中图分类号:TP311.1文献标志码:A文章编号:1006-8228201306-01-02ExplorationondesigntechniqueofhybridprogrammingofassemblylanguageandClanguageKangJingjingInstituteofInformationShanxiAgriculturalUniversityJinzhongShanxi030800ChinaAbstractAssemblylanguageasamachine-orientedlanguagehasadvantagesoflessstoragespaceandfasterprocessingandcandirectlycontrolhardware.Itplaysanimportantroleinsomeoccasions.Howeverwritinganddebugginginassemblylanguagearerelativelydifficultandcomplicatedespeciallywhenconductingnumericalhybridcomputinganddataprocessing.Clanguageshowsstrengthsofhighefficiencyofdevelopmentabundantfeatureflexibilitystrongexpressionabilities.DuringdevelopingsoftwarehybridprogrammingofassemblylanguageandClanguagecaneffectivelyimproveoperationalefficiency.Combinedwithauthor'sownworkexperiencethetechniqueisdiscussedindetailinordertoprovideareferenceforthepeers.KeywordsassemblylanguageClanguagehybridprogramming0引言在大型程序的设计中,如果将汇编语言程序和高级语言程序结合使用,能充分发挥其各自的优点,实现两种语言的混合编程。在程序设计中,C语言可以调用汇编语言的子程序,而汇编语言也可调用C语言的子程序,还可在C语言程序中嵌入汇编语句,具有极大的优点[1]同时,在混合编程中,模块的连接、参数的传递和调用关系的确定等都是应当引起编程者注意的重要问题。
龙源期刊网http://www.qikan.com.cn1汇编语言与C语言混合编程的方法汇编语言与C语言混合编程的方法主要包括以下几种:C语言程序中使用汇编程序定义的常量与变量[2]C语言程序中内嵌汇编语句,实现C语言不能做到的对硬件的控制功能;C语言程序中使用内部函数调用汇编语句;混合编程时,单个任务可被分成若干个功能模块,每个功能模块均以子程序或函数的形式存在,根据各单一模块的特点,选择合适的编程语言进行独立编程,然后通过对应的语言编译系统编译成目标文件,最后将诸多目标文件集合在一起成为一个可执行文件。1.1C语言程序嵌入汇编语句C语言中,可直接编写汇编语言代码,在C语言中嵌入汇编语句时不需要分号,具体语法为:asm如果要嵌入一组语句,则需要用大括号{}将其括起来:asm{movaxdata1xchgaxdata2movdata1ax}C语言允许嵌入的汇编命令包括四类:一般指令、跳转指令和数据定义、串操作指令、分配指令。1.2C语言调用汇编语言子程序为了实现C语言对汇编语言子程序的调用,汇编语言源程序一定要严格依据编译系统要求或约定的段组合和段顺序。汇编语言子程序格式
龙源期刊网http://www.qikan.com.cn汇编语言子程序的格式通常为:MYCODESEGMENTPARAPUBLIC‘CODE’PUBLIC_函数名;公共符号说明DGROUPGROUPMYDATAMYBBSMYDATASEGMENTWORDPUBLIC‘CODE’...定义变量,初始化数据MYDATAENDSMYBBSSEGMENTWORDPUBLIC‘CODE’...非初始化数据,开辟内存区MYBBSENDASSUMECSMYCODEDSDGROUPSSDGROUP..._函数名PROCNEAR/FARPUSHBPMOVBPSPPUSHSIPUSHDI...程序主体语句POPDIPOPSIPOPBP

汇编语言与C语言的混合程序设计技术

相关推荐