ARM裸机3

一.汇编语言与C等高级语言的差异
1.汇编是低级语言,它更趋近于CPU(机器),所以难写,但是它的执行效率最高。
2.汇编没有可移植性,因为汇编是对于每个不同CPU的机器码编写的,不同的CPU机器码是不同的,所以有几个CPU,就要重新开发几次,代码不能重复使用,所以说没有移植性。但是C语言就有一定的移植性,因为C语言避免了汇编与机器指定直接打交道,但是对于不同类型的CPU,比如我编写了同样的C语言,要分别在ARM和intel上进行运行,还是需要专门针对ARM和intel的编译器,但是编译器编写好后今后就可以一直用了。
3.汇编语言效率最高,C语言次之,JAVA等更高级语言效率更低。可移植性和效率是一个矛盾体。
4.汇编不适合完成大型复杂的项目,更高级语言更适合完成更大、更复杂的项目。
二.汇编语言的本质
1.汇编的实质是机器指令的助记符,机器指令就是计算机可以执行的0101二进制代码,助记符就是帮助记忆的符号。所以汇编写法如mov,而不是表示mov的10101010二进制数(打个比方,不是说mov就是10101010)。
2.机器指令集就是所有机器指令的集合,它是CPU完成所有功能的表现形式,机器指令集的编写者是制作这款CPU的厂家。CPU的内部电路是完成这些操作的关键,也就是为了实现这些0101010二进制指令集的功能。
三.编程语言的发展过程
1.纯机器码编程
2.汇编语言编程
3.C语言编程
4.C++语言编程
5.JAVA C#等语言编程
6.脚本语言编程
四.总结
1.不同CPU的机器指令集设计不同,硬件电路设计不同,因此汇编程序不能在不同CPU间相互移植。
2.使用汇编编程可以充分发挥CPU的设计特点,因为可以根据电路的特点,按照特定的方式直接完成某动作,所以汇编编程效率最高,而操作系统内核中有些东西每天会被使用几万次,这些东西就要求效率高!快!所以这些部分一定要用汇编去写(比如中断)。而其他不是特别注重效率的地方,用c语言写就可以了。
3.C语言是集聚好写和高效的语言,所以学好C语言至关重要!