摘 要:一般在较大的程序设计当中,如果把汇编语言与高级语言程序结合起来使用,把两种语言的优点都发挥出来,充分利用两种的优势,进行混合编程,则可以很多的难以解决的难题。在程序设计的实践当中,C语言和汇编语言可以相互调用,C语言可以调用汇编语言,汇编语言可以调用C语言,也可以把其中一种语言程序嵌入到另一种程序语言当中。本文就是探讨把C语言与汇编语言两种语言进行混合编程,实现两者的最佳组合,从而解决一些实践难题。
关键词:汇编语言;C语言;混合编程
汇编语言的优势就是速度快,占用存储空间不大,而且可以随时控制硬件,这些优点是其它的程序语言无法取代的。汇编语言也有不足之处,就是在高级程序的编写与调试时存在着较大的困难,特别是在处理一些数据或者一些混合运算时显得更加困难。
C语言,它的优势就是在于功能全面,表达形式多样且灵活,开发使用效率很高,具有其它高级语言无法具有的优势。通常在软件开发过程中,大部分程序采用高级语言编写,以提高程序的开发效率;但在要求执行速度快、占用空间少或要求直接控制硬件的场合,则利用汇编语言编写,以提高程序的运行效率。
1.汇编语言和C语言混合编程的方法
C语言和汇编语言混合编程的具体方法有以下几种。
2.1 参数传递
汇编语言程序和C语言程序在调用时会涉及到参数传递,一般采用堆栈进行传递。在汇编语言中将BP作为基址寄存器,调用程序先将来自于C语言程序中的参数依次压入堆栈中,然后当需要使用这些参数时,再用BP加上不同的偏移量依次对堆栈中的数据进行存取操作。
2.2 调用关系的确定
对于将要涉及到调用的过程或函数需要事先说明和建立调用与被调用关系。被调用的过程或函数应预先说明为外部类型,以便被外部模块引用,而调用程序也需要在程序中说明将要引用的外部模块的名称。在说明调用关系时还应根据不同的存储模式确定相应的汇编语言格式。C程序小模式对应汇编程序的近类型过程,而C程序大模式则对应汇
编程序的远类型过程。
总而言之,汇编语言和C语言的混合编程方法可以使汇编语言与C语言之间取长补短,充分发挥各自优势,相互交叉调用,进行参数传递,共享数据信息和数据结构,使由此开发的软件更实用、更安全可靠,使开发和编程工作达到事半功倍的效果。
参考文献:
[1] 罗南超,向昌成,李唐辉. 汇编语言实现多种进制的通用输入输出[J]电脑知识与技术, 2008,(36) .
[2] 崔卫东. VC++与汇编语言混合编程的研究与实现[J]福建电脑, 2007,(05) .
[3] 宋金华. 汇编语言和C语言在图形处理中的综合应用[J]湖北广播电视大学学报, 2010,(12) .
[4] 张银,索旭华,廖建林,郭娟. AOCC应用软件的快速仿真平台的研究与技术实现[J]航天控制, 2010,(02) .
[5] 宋金华. 汇编语言和C语言在图形处理中的综合应用[J]计算机与信息技术, 2009,(Z2) .