概述

虽然可以使用各种语言编写程序,但计算机却只能识别在设计机器时事先规定好的机器指令。

机器指令即指挥计算机完成某一基本操作的命令,它们均由0和1二进制代码串组成。机器指令的一般格式为:

|| ||

操作码字段指出该指令执行何种操作,地址码字段指出被操作的数据(操作数)和操作结果的存放位置。

例如,将地址为0000 0100B的字节存储单元中的内容加3,若用Intel 8086/8088机器指令来完成该操作,则相应的机器指令为:

10000011

00000110

00000100

00000011

这条指令共4个字节,其中前两个字节的二进制代码是操作码,表示要进行“加”操作,并指明了以何种方式取得两个加数;第三个字节二进制代码指出了第一个加数存放在偏移地址为00000100B的内存单元,最后一个字节二进制代码指出第二个加数为3。

机器指令也常被称为硬指令。它是面向机器的,即不同的计算机规定了自己所特有的、一定数量的基本指令(指令系统)。用机器指令进行描述的语言叫作机器语言,用机器语言编写的程序称为机器语言程序或目标程序。目标程序中的二进制机器指令代码称为目标代码。

使用任何语言编写的程序最终都要转换成机器语言程序,才能被计算机识别、理解并执行。2

在早期的开发工作中,程序都是用机器语言编写的,为了方便读者理解指令的过程,假定要执行下列操作:

1+2=?

计算机处理这个简单的运算要经过以下步骤。

1)将1载入累加器。

2)把1暂存到内存的某个地址ADDR1中。

3)将2载入累加器。

4)将内存ADDR1中的数据和累加器中的数据相加。

5)输出结果(一般是输出到内存的某个地址,如ADDR2中)。3

机器语言的优缺点(1)机器语言可以被计算机直接识别、执行,所以用机器语言写的程序效率最高。

(2)机器语言是用指令编程,而成千上万条指令很难记住,且一旦出错很难找出错误。

(3)不同型号的计算机,指令编码并不相同,因此,针对某一型计算机写的程序移植到另外一种计算机上后,运行结果未必正确,甚至有可能根本不能运行。4