在二三十年前人们刚开始运用C言语替代汇编进行开发的时分,由于最初的处理器/控制器功能很弱,而编译器的才能也有限,所以形成了一些C言语编程功率不高的形象。可是今日的硬件功能现已十分强壮,而编译器的才能也是一日千里,假如咱们不熟练把握汇编编程中的一些关键技术,编写的汇编代码的功率现已很难超越编译器从C言语转化出来的汇编代码了。
假如咱们运用C言语进行编程的话,编译器除了能够把咱们的加减乘除这样的操作转化为ADD、MPY以及相关的寻址、寄存器操作外,还能够在编译发生汇编代码的进程中进行不同程度的优化。优化的进程要根据器材的特色与指令集等进行有针对性的装备,所以在不同的器材上同一段C代码优化发生的成果或许不一样,可是其根本思想都是共同的;乃至是不同公司的编译器,在优化选项和优化作用上面也是根本共同的。在CCS软件的编译器中,咱们能够运用的根本的优化等级有5级,如表1所示。需求留意的是,别号便是咱们在编译器选项中实际运用的姓名,由于字体的原因,看起来或许会有混杂,以-O0为例,其间的第一个是字母O是大写的字母0,表明优化Optimization,而不是阿拉伯数字的0;第二个才是是阿拉伯数字中的零,用数字表明优化的序号或者说优化的程度。
