要确定一台计算机的指令系统并评价其优劣,通常应从如下4个方面考虑:

 (1) 指令系统的完备性,常用指令齐全,编程方便
 (2) 指令系统的高效性,程序占内存空间少,运行速度快
 (3) 指令系统的规整性,指令和数据使用规则统一简单,易学易记
 (4) 指令系统的兼容性,同一系列的低档计算机的程序能在新的高档机上直接运行

  要完全同时满足上述标准是困难的,但它可以指导我们设计出更加合理的指令系统。设计指令系统的核心问题是选定指令的格式和功能。指令的格式与计算机的字长、期望的存储器容量和读写方式、计算机硬件结构的复杂程度和追求的运算性能等有关,这些内容中的某些部分超出了我们的教学范围,请有兴趣者参阅其它资料。

  通常情况下,一条指令要由两部分内容组成,其格式为:
操作码
操作数地址

  第一部分,是指令的操作码。操作码用于指明本条指令的操作功能,例如,是算术加运算、减运算还是逻辑与、或运算功能,是否是读、写内存或读、写外设操作功能,是否是程序转移和子程序调用或返回操作功能等,计算机需要为每条指令分配一个确定的操作码。

  第二部分,是指令的操作数地址,用于给出被操作的信息(指令或数据)的地址,包括参加运算的一或多个操作数所在的地址,运算结果的保存地址,程序的转移地址、被调用的子程序的入口地址等。

  在一条指令中,如何分配这两部分所占的位数(长度),如何安排操作数的个数,如何表示和使用一个操作数的地址(寻址方式),是要认真对待、精心设计的重要问题。出于重视,寻址方式将单独放在3.2 节讲解,其余内容在本节的下面部分别介绍。