有难度。你要总结一些这方面的经验。
C编译的时候。会多出一些东西来是正常的。因为编译器不是针对某一个MCU来做的。所以,它在编译的时候往往会参考INTEL的芯片结构来做。
你可以找一些C语言编译优化等资料来看看。写程序的时候,把运算的代码尽可能的分行来写,特别是IF等语句不要执行带运算的判断。少一个跳转的情况。尽量的少使用乘除法。改用移位来实现。慢慢的你就会做到了!
经过C语言编译过的汇编是很复杂的而且有很多的东西是没有必要的
因此你还是直接用汇编写
你想啊,同样功能的代码,一般编译到最后,用C语言写的使用汇编写的代码长度的很多倍
主要是C语言功能模块化,有很多东西直接看汇编的话是不必要的
你在c语言中嵌入汇编,不然的话,keil会按照他认为的模式生成汇编代码的