1.汇编语言效率高,各种jmp指令进行短转移、长转移,不用调用函数,不占用硬件堆栈。
2.汇编语言占用代码空间小,C语言由编译器进行汇编产生的代码效率不如汇编,有的ROM比较小的单片机用C语言可能写不下,代码空间不够。
3.汇编语言操作内存直接对地址进行操作,你可以清晰的知道每个内存的使用。
汇编的编译效率非常高,基本上是直接对寄存器操作的,可以完全的了解单片机的运行流程,故而找起问题来非常直观,而且生成的bin文件非常小(因为相对C语言编译出来,冗余代码少很多)可以做到最大程度的利用有限的flash空间。
当然,这也是要看行业的,据我所知,在家电类还是有很多单片机要求用汇编语言,因为成本原因,对单片机的flash空间非常重视。汇编语言的易读性差,很难做到移植。
最明显有两个:
快,由编译器转化而来的程序有一些不必要的冗余,降低速度;
精准,汇编指令可以清楚递判断执行代码所需要的机器周期,在延时上可以做到精确延时。
C语言:简洁,灵活,可移植性强;缺点是占用资源多,效率不高
汇编语言:编译效率高,编译后的代码短,时序性强,可以做到精确定时;缺点是可读性和移植性差,
ASM code除非是極需要效能和縮減空間,一般人不太會去用到的,可讀性差以外,未來維護也困難
建議還是看您未來工作取向,但99%都是用高階語言,這是國內外都是如此
以上