第1页共6页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共6页第三章汇编语言与C语言3
1C语言与汇编语言的比较本课程全程使用C语言来开发S3C2410A
目前很少有用汇编语言来开发ARM系统了
相比较而言汇编语言的优势是执行效率高,但其劣势是代码效率较低,而C语言正好相反,其代码效率较高,执行效率较低
什么是执行效率
什么是代码效率
在嵌入式设计领域,一般执行效率就是程序的执行时间可以精确控制,从而可以使程序高效率的运行
采用汇编语言编写ARM程序,每一条指令的执行时间都是固定不变的(外部时钟确定),所以写出的程序每一步的执行时间都是可以精确控制的
这是采用汇编语言的优势所在
但是,相信有过用汇编语言进行程序设计经验的读者在读别人用汇编语言写的程序时都会觉得十分吃力,尤其在碰到一些编程习惯不好的coding,整个程序注释寥寥或者干脆没有,那么对于一般的设计人员来讲,这样的程序就是天书一卷了
这也就是所谓的程序可读性不高,不便于维护和移植重用
这也可以说是代码效率底下
C语言编写的程序相对来说可读性高,便于移植重用,结构灵活
一个注释完全,结构完整的C程序很容易就读懂了,而且我们还可以把一些常用的代码封装成函数,这样就可以根据需要来直接调用这些函数
C语言有了这些性质,相对于汇编语言其代码效率就较高了
C语言有其优点,必然在嵌入式领域内还有其不足的地方
采用C语言编写的ARM驱动代码需要经过编译器编译而生成相对应的汇编代码,最后生成可下载执行的二进制文件在这个过程中,所生成的汇编代码完全由编译器所决定,这样一来对于一条C语句来讲预先不知道所生成的汇编代码有几多,所以也就无从精确判断程序执行的时间,这种特质也就是所谓的执行效率相对较低
在嵌入式控制领域,有一些设计对于程序的执行时间需要精确的把握,大多数设计对于程序的时间要求没有那么精确