通过之前的学习我们知道了计算机做任何工作都是由存储在其中的程序来控制的,而程序(Program)是由一条条的指令和各种数据组成的,而且这些指令和数据都是由只有 0 和 1 两种符号的二进制数来表示的(见代码清单 1)。
代码清单 1:机器语言代码片段
00000000 00111110 11001111
00000010 11010011 00000000
00000100 00111110 11111111
00000110 11010011 00000000
00001000 00111110 11001111
00001010 11010011 00000011
00010100 11000011 00010000 00000000
在计算机世界中,把这种用二进制代码表示的计算机能直接识别和执行的指令和数据的集合(程序)称为“机器语言”(面向机器的语言)。
机器语言是唯一一种 CPU 能直接理解并执行的编程语言,用其他语言编写的程序计算机是不能直接运行的,必须先转换成机器语言。
就如同在人类世界中把用 a~z 26 个英文字母组成的语言称为英语一样,在人类世界中,除了英语外,还有汉语、日语、法语等各种不同的语言。在计算机世界中,除了用二进制代码表示的机器语言外,还有汇编语言、BASIC 语言、Pascal 语言、C语言、Java 语言、Visual Basic 语言、PHP 语言、HTML 语言等,以上这些都统称为计算机的程序设计语言。
机器语言是最底层的计算机语言,用机器语言编写的程序都是由 8bit 二进制数构成的。每个 8bit 的二进制数都是有特定含义的指令或数据。可对于人而言,看到的都是 0 和 1 的组合,很难判断各个组合都表示什么。