2.1 机器语言
在第1章中我们知道了计算机做任何工作都是由存储在其中的程序来控制的,而程序(Program)是由一条条的指令和各种数据组成的,而且这些指令和数据都是由只有0和1两种符号的二进制数来表示的(代码清单2.1)。在计算机世界中我们把这种用二进制代码表示的计算机能直接识别和执行的指令和数据的集合(程序)称为“机器语言”(面向机器的语言)。就如同我们人类世界中把用a~z这26个英文字母组成的语言称为英语一样。在人类世界中,除了英语之外还有汉语、日语、法语等等各种不同的语言,它们的组成符号都各不相同。在计算机世界中也有多种类型的语言。除了用二进制代码表示的机器语言之外,还有汇编语言、BASIC语言、Pascal语言、C语言、Java语言、Visual Basic语言、PHP语言、HTML语言等,这些我们都统称为计算机的程序设计语言。
代码清单2.1 机器语言代码片段
机器语言是最底层的计算机语言。用机器语言编写的程序都是由8bit二进制数构成的,每个8bit的二进制数都是有特定含义的指令或数据。可是对人来说,我们看到的都是0和1的组合,是很难判断各个组合都表示什么的。于是就有人发明了另一种编程方法,根据表示指令功能的英语单词给每一种指令起一个相似的昵称,并用这个昵称来代替表示指令的0和1的二进制数组合,而数据则用我们更容易接受的十六进制数或十进制数来表示(代码清单2.2)。这种类似英语单词的昵称叫作“助记符”,我们把这种使用“助记符”的编程语言称为“汇编语言”。
知识点总结
机器语言是唯一一种CPU能直接理解并执行的编程语言。
用汇编语言编写的程序计算机是不能直接运行的,必须先转换成机器语言。
代码清单2.2 汇编语言程序示例(输出“Hello,world!”)
用汇编语言编写的程序计算机是不能直接运行的,必须先转换成机器语言。机器语言是唯一一种CPU能直接理解并执行的编程语言。
汇编语言的助记符以及数据和机器语言的二进制代码都是一一对应的,都是针对计算机硬件的,也就是说都是面向机器的语言。不同的计算机硬件(CPU)所用的助记符和二进制代码是不一样的,所以这样的程序其通用性不好,如果把它移植到其他的计算机上就无法正常运行了。我们通常把机器语言和汇编语言称为低级语言。