001-【X86-汇编语言】-简介

汇编语言的世界观

每种编程语言都有自己的世界观。

C语言的世界观认为世界是由一个一个过程组成的,过程之间的相互调用是世界运行的根本

C++、JAVA的世界观认为世界是由一个一个对象组成的,对象之间相互影响是世界运行的根本

汇编语言认为世界是由 CPU+寄存器内存+内存主组成的。CPU不断地处理寄存器和内存中的信息是世界运行的根本。其中信息可以是指令,也可以是指令要处理的数据。信息都是二进制的,这是由数字电路的特性决定的。

学习汇编语言的意义

  • 提升内功:汇编语言是软件工程师“入门语言”。“入门”说所有的软件工程师都要学习汇编语言。“入门”指的是汇编语言的在所有编程语言中的位置。她是级别最低的语言。她的下一级是人类无法直接读懂的机器语言,很难用机器语言直接编写软件。而机器语言再下一级就是电子电路了,那是硬件电气工程师的工作范畴,因此汇编语言应该是软件工程师能接触到的最低一级的编程语言。学习汇编语言对了解计算机软件软件的运行过程有极大的帮助。

                                                    001-【X86-汇编语言】-简介

 

  • 现实作用:虽然目前高级别语言层出不穷但汇编语言仍有其用武之地,一些专用设备的嵌入式程序,如空调、电话、打印机等。之外大型程序某些小的功能可以共同汇编语言编写达到优化性能的效果,游戏就是个例子,为什么国内游戏效果没有国外游戏的效果好,但运行起来特别的卡顿。

汇编语言与机器语言的关系

上文提到汇编语言的下一等级是机器语言,那么汇编语言与机器语言是什么关系呢?

其实汇编语言只是机器语言的【助记符】,也就是说汇编语言与机器语言是一一对应的,每一个汇编指令都对应着一个机器指令的二进制编码。当人类用汇编语言写完程序后,就可以由汇编器将汇编指令翻译成对应的机器指令二进制编码,最终形成二进制的可执行文件。

因此汇编语言对学习黑客技术也有很大的好处,因为可以将已经形成二进制可执行文件反汇编成汇编语言来阅读。而这是高级语言无法具有的特性。