定义
各种用二进制编码方式表示的指令,叫做机器指令码。开始,人们就用它采编写程序,这就是机器语言。机器语言虽然能够被计算机理解和接受,但和人们的语言差别太大,不易被人们理解和记忆,并且用它编程容易出差错。
后来,人们用助记符号代替机器指令码而形成了汇编语言。汇编语言使指令容易理解和记忆,而且便于交流,使计算机软件的发展大大前进了一步。但是,由于计算机只认识指令码,所以用汇编语言编写的程序还必须翻译成机器指令码,计算机才能识别和执行。这种翻译工作也可由计算机来完成,具有这种翻译功能的程序就是汇编程序。汇编语言的语句与机器指令是一一对应的,程序的语句数仍很多,编程序仍然是一个十分庞大而困难的工作。
为了使计算机用户编程序更容易些,后来就出现了各种高级计算机语言,如BASIC、FORTRAN等语言。高级语言比机器语言、汇编语言更接近人的语言,用户可以不必了解计算机的指令系统和具体结构,就能够编制程序。用高级语言编制的程序通用性很强。
显然,和汇编语言一样,当计算机执行高级语言编写的程序时,仍然需要把程序解释和编译成机器的指令码。这个过程仍然由计算机来完成。完成这个过程的程序就叫做解释程序或编译程序。
现在尽管出现了许多像高级语言那样内容丰富的软件,但是人们仍广泛地使用着机器语言。原因是机器语言有它的独特优点,计算机最终要解决问题仍需要有机器指令码编制的程序。比如,用来解释、编译高级语言的解释程序和编译程序,都是用机器指令码编制的程序。所以在静电复印机等专用场合下,微型计算机的各种实时和过程控制的程序,一般都是用机器指令码编制而成。2
相关名词代码代码是用来表示信息并能进行输入、传送、处理和输出的数码。字母、数字、控制符等都要表示为对应的二进制数码才能被数字设备识别。
在电子计算机中,送入的信息,如符号、字母、数字等都要化成电子计算机能够识别的二进制数码,这种代表信息的二进制数码就称为代码。在计算机中,不仅信息用代码来表示,使计算机进行操作的指令、各类代码的存储地址等也都用代码来表示。计算机中使用的代码有ASCII码、BCD码、EBCDIC码等。
代码是在一一对应基础上建立的表示数据、信息与程序的规则与符号系统。表示数值的代码有原码、补码、反码三种。计算机使用二进制代码“0”与“1”表示数字或字母,作为处理的信息。它可以用磁芯的磁化方向、纸带或卡片的孔等等来表示。数据或信息用代码(形式)表示后,才能为计算机所总识别与接受。
操作码与地址码都是二进制代码,为了方便,一般用八进制或十六进制数来书写。
机器语言机器语言是表示成数码形式的计算机基本指令集。它是计算机硬件系统所能识别的,可以不必经过翻译就能直接由机器执行的程序语言。机器语言包括指令系统、数的形式、通道指令、中断字、屏蔽字、控制寄存器的信息等内容。其特点是与具体的机器有关,功效高,但使用复杂、繁琐、费时,易出差错。
直接用机器语言编写程序称为“手编程序”。手编程序是一项繁琐的工作,需要花费大量的人力与时间,其中很大量的工作是机械的、重复性的。又由于机器语言很不直观,因此手编程序非常容易出错,也不易检查、修改。而且,不同型号的计算机,是有不同的指令系统,也就是说不同型号的计算机都有自己的机器语言,它们是互不通用的。因此,同样一个算题,用A型计算机指令编的程序拿到B型计算机上就不能使用,而必须重新按B型计算机的指令再编一个程序。显然这是很不方便的。
另外,由于机器指令全部是由0和1组成的数字代码,因此编出的程序也完全是由0和1组成的数字。这样,不仅要记住各种指令代码的含义不太容易,增加了编制程序的困难,而且编出的程序全是0和1这样的数字,不易识别,极易弄错。机器语言与人们习惯的语言相比,难学、难写、难记、难检查、难修改,且不同的机器又不通用,因此实际中很少用机器语言编程序。机器语言也有其优点,那就是用它编写的程序一经输入计算机,计算机马上就能执行,因此和其他语言编的程序相比,执行速度最快。为此,人们设计出各种便于编写程序的“程序自动化语言”,例如算法语言。 3