MSP430单片机C语言和汇编语言混合编程刍议
李悝
(山东工艺美术学院,山东济南250300)
摘要:主要结合C语言与汇编语言进行计算机程序编写设计中各自的特征优势,从C语言与汇编语言混合编程方法,以及混合语言进行MSP430单片机编程设计的具体过程等方面,进行MSP430单片机C语言与汇编语言混合编程的分析论述。
关键词:MSP430单片机;C语言;汇编语言;编程设计;软件开发;分析
中图分类号:TG84文献标识码:A文章编号:1673-1131(2013)01-0072-02
1C语言和汇编语言的特点以及混合编程方法
1.1C语言和汇编语言编程设计的特点
在进行计算机应用程序以及软件系统程序的编写设计应用中,C语言与汇编语言都是比较常用的程序语言代码。其中,使用汇编语言进行计算机编程设计应用,对于编写设计的计算机程序软件的生成效
率比较高,并且汇编语言编写的程序命令执行速度比较快,但同时,使用汇编语言进行计算机程序软件的编写设计过程中,同样还具有编写程序的可读性不强的局限性;而使用C语言进行计算机应用程序以及软件的编写设计过程中,C语言进行编程设计应用的可移植性以及可读性特点,要比汇编语言编程设计中的可读性与可移植性高出许多,并且C语言在进行大型程序软件编写设计中编程设计周期也相对比较短,编程简单,但是C语言编程设计的时效性特征却不够明显,尤其是进行具有高时效性的软件以及程序编写设计中,C语言就不能对于编程设计的高时效性进行满足。
1.2C语言与汇编语言混合编程的方法
针对上述计算机程序与软件的开发设计中,C语言与汇编语言各自的编程优势与局限性,进行计算机软件产品的开发设计过程中,可以考虑将两种语言混合使用,进行软件产品的编程设计与开发实现。使用C语言与汇编语言混合编程的方法进行程序编写设计与软件产品的开发,不仅可以将两种不同编程语言的编程优势结合应用,并且对于编程设计中的局限性问题也有互补作用,具有编程设计速度快、效率高,并且灵活性比较强的特征。
目前,使用C语言以及汇编语言进行计算机程序编写与软件产品的开发设计的方法,主要有三种。一种是,在进行编程设计时,分别使用C语言和汇编语言进行独立的程序编写,并且对于C语言以及汇编语言编写的程序,进行分开编译和汇编,形成不同语言编写形式的目标代码模块,然后在结合具体情
况,将两种不同语言代码编程模块,进行调用或者是链接使用等。比如,使用汇编语言编写的FFT程序系统,也可以通过与C语言程序模块的链接,从C语言中进行程序调用实现。此外,还有两种混合编程方法,即在C语言编写程序中嵌入汇编语言程序,以及通过对C语言程序进行编译程汇编语言程序的形式,进行整合应用,都是混合编程中比较常用的编程方法。在混合编程设计过程中,可以根据实际情况,选择合适的编程方法进行编程设计应用。
2MSP430单片机混合编程的规则分析
2.1C语言编译器参数传递规则
根据上文所述的C语言与汇编语言混合编程方法,以及目前进行MSP430单片机芯片软件开发设计的常用LAR Em-bedded Workbench软件系统,该系统在进行MSP430单片机芯片软件的开发设计过程中,同时具备对于C语言以及汇编语言程序的编辑、汇编以及编译功能,并且最终实现两种语言混合MSP430单片机软件编程设计实现。
在LAR系统中C语言编译器进行单片机程序的编译过程中,主要通过高速暂存器进行C语言编译参数的传递应用,该寄存器功能在进行C语言编译程序的传递调用时不需要进行保护。此外,LAR系统中普通寄存器则主要是对C语言编译器的程序编译变量以及编译过程进行寄存保护实现,这组寄存器中的C语言编译信息,在进行混合编程调用时,需要进行保护,保护功能由C语言编译器自动实现进行。
在LAR系统中,C语言编译器中的C语言编译程序数据参数在被调用过程中,没进行一次函数的调用,就会建立一个堆栈结构。并且C语言编译器参数进行传递调用中,调用函数参数与被调用函数参数之间的传递顺序是按照从右到左进行传递的。因此,C语言编译器在进行参数传递过程中,除了最左边的两个参数是使用寄存器进行传递的之外,其余参数信息都是按照堆栈结构方式进行传递实现,并且堆栈结构形成过程中,也是按照从右到左的顺序形成的。并且,在堆栈传递的过程中,如果传递函数中最左边的两个函数是结构或者是联合形式的,则也需要通过堆栈结构形式实现传递,对于C 语言编译过程中中断的函数,会有C语言编译器自动保存在寄存器中。
c语言中文网汇编语言2.2汇编语言函数约定分析
在LAR系统中,被C语言编程模块调用的汇编语言模块,通常不仅满足C语言编译器的参数传递规则,而且具有PUB-LPC调用入口标志,被C语言编程模块调用后作为外部函数进行应用实现。并且,对于汇编语言函数的存储有局部存储和中断函数存储两部分,分别按不同的要求标准进行存储调用实现。
3MSP430单片机的混合编程
进行MSP430单片机芯片软件的编程开发与设计中,在满足以上两种语言编程的要求之后,可以通过使用extren关键字的形式将C语言编程的源文件进行导出,并导入到被汇编语言编程源文件的导出标号中;然后使用PUBLPC关键字形式将汇编语言编程源文件导出到C语言编程源文件中;再用extren关键
字的形式将汇编语言编程源文件导入到C语言编程源文件标号中;之后,将C语言编程源文件标号导出给汇编语言编程源文件,进行这一导出过程操作时,不需要使用
2013年第1期(总第123期)
2013
(Sum.No123)信息通信
INFORMATION&COMMUNICATIONS
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论