1.2.1 指令与程序

第03讲

计算机的功能强大,但是没有智能,而且每次只能完成非常简单的任务。计算机必须通过一系列简单任务的有序组合才能完成复杂任务。因此,人只能以一个简单任务接一个简单任务的方式来对计算机发出指令。这个简单任务称为计算机的指令。一条指令本身只能完成一个最基本的功能,如实现一次加法运算或一次大小的判别。不同的指令能完成不同的简单任务。但是通过对多条指令的有序组织,就能完成非常复杂的工作,这一系列计算机指令(也可理解为人的命令)的有序组合就构成了程序,对这些指令的组织过程就是编程的过程,组织规则就是编程的语法规则。

例1-2 假设计算机能识别的指令有以下四条:

Input X:输入数据到存储单元X中。

Add X Y Z:将X、Y相加并将结果存到Z中。

Inv X:将X求反后存回X。

Output X:输出X的内容。

请编写一段由上述指令组成的虚拟程序,实现以下功能:输入3个数A、B和C,求A+B-C的结果。

程序如下:

由例1-2可以看出,通过指令的有序组合,能完成单条指令无法完成的工作。上述程序中的指令是假设的,事实上,不同CPU支持的指令集也不同(由CPU硬件生产商决定提供哪些指令)。有点硬件常识的读者都知道,计算机的CPU和内存等都是集成电路,其能存储和处理的对象只能是0、1组成的数字序列。因此这些指令也必须以0、1序列表示,最终程序在计算机中也是以0、1组成的指令码(用0、1序列编码表示的计算机指令)来表示的,这个序列能够被计算机CPU所识别。程序与数据均存储在存储器中。运行程序时,将准备运行的指令从内存调入CPU中,由CPU处理这条指令。CPU依次处理内存中的所有指令,这就是程序的运行过程。