为什么说汇编语言的执行效率高?

如题所述

呵呵,你这个问题倒是很有意思。你说的是没错,所有语言编写的代码最终要运行,都要转化成机器码。但是,由于这个“转化”所采用的方法不同,其所需要消耗的时间也使不同的。具个简单的例子来说,比如把一个变量的值自加1,并执行100次,也就是下面这条语句:for(i=0;i<100;){i++;}那么对于一个没有充分优化的C语言编译器而言,你需要每次寻址内存找到变量,然后把变量值拷贝到寄存器,然后对寄存器自加1,然后把寄存器值写回到内存,整个过程需要反复执行100次。但是如果你写汇编代码,那就没这么麻烦了,你只需要寻址内存一次,把变量读入寄存器,然后对寄存器自加100次,最后写回内存即可。你可以想见,这个汇编代码的执行速度要比C语言快得多,但它们所执行的功能是一样的。当然,我前面这个例子只是用来说明问题,并不具有实践价值。实践中有很多因素影响程序的效率,例如编译方式、优化程度等等。而这些与程序员的素质也有关系,一个差的汇编程序很可能不如一个好的C语言程序执行效率高。
温馨提示:答案为网友推荐,仅供参考
相似回答