指令系统4.1指令系统的基本概念4.2指令格式4.3寻址技术4.4指令类型4.1指令系统的基本概念计算机由硬件和软件两部分组成。一个程序是由多条指令组成,计算机的工作过程实际上就是执行一系列的机器指令的过程。不同计算机使用的机器指令是不同的,同系列计算机总有一些通用的指令。指令系统反映了计算机所能提供的功能。计算机只能识别二进制数,指令系统中的每条指令都由唯一的二进制数表示。指令的二进制表示形式称之为机器码或机器指令。用助记符表示的机器码称为汇编指令。汇编指令由操作码和操作数构成。操作码指示计算机要完成操作,而操作数则提供该指令所要用到的数据或对象。操作数是一个广泛的概念,它不仅指一般的数据,而且还指存放数据的场所(地址)。4.2指令格式4.2.1指令格式指令的格式,就是指令字的二进制代码的表现形式。—条指令一般需要包含两方面信息:一是表示CPU执行什么操作的操作码信息;二是表示其操作对象的源操作数的存放位置(可以是具体数据)和结果数的存放位置的信息。位置信息用地址码表示。指令的基本格式可表示为:4.2.2操作码计算机指令系统的每一条指令都要规定一个操作码,不同的指令有不同的操作码。操作码是指令中规定机器执行性质、内容和功能的部分,操作码的长度决定操作种类的多少。中央处理器中有专门的部件解释每个操作码,并产生相应的微操作和控制时序完成所需功能。常见的指令操作码有两种构成方式:定长操作码不定长操作码1.定长操作码定长操作码的特点是长度和位置都是固定的,是一种最简单的编码方法。优点:有利于简化硬件的译码逻辑,减少指令的译码时间,方便扩充操作的种类。2.变长操作码变长编码是指操作码字段的长度不固定,且占用指令字位数随指令内容改变的一种编码设计方式。优点:能有效地压缩指令中操作码字段的平均长度。缺点:由于这种操作码字段的位数和位置不固定将增加指令译码和分析的难度,使用这种指令结构的处理器的控制器的设计相对比较复杂。4.2.3地址码操作数可能是指令操作的目标数据,也可能是操作目标数的存放地址。1.三地址指令三地址指令由指令操作码和三个存储单元的地址组成的操作数组成。指令的格式为:指令的含义为:(A1)OP(A2)→A3,执行此条指令时,其后续指令地址存在程序计数器中。执行一条三地址指令至少需要访问4次主存。第一次取指令,第二次取被操作数,第三次取操作数,第四次保存运算结果。2.二地址指令三地址指令可通过使用累加器而变为二地址指令。二地址结构如下:二地址指令的操作过程是(A1)OP(A2)→(A1)或(A1)OP(A2)→(ACC);(PC)+1→PC。在这里A1为目的操作数地址,A2为源操作数地址。二地址指令应用比较广泛,但使用时有一点必须注意:指令执行之后,如果指令执行的结果存放在目的操作数地址寄存器中。原存储的被操作数内容就会被破坏掉,不能再使用。这对于用汇编语言编程的程序员尤其要注意的。从表面上看二地址指令似乎只涉及两个存储单元,如用A1或A2存放操作结果,处理一条指令仍需四次访存动作。但如操作结果是放在ACC中,处理一条指令就只需要三次访存。3.一地址指令一地址指令格式如下:一地址指令的完成的操作是(ACC)OP(A1)→ACC,(PC)+1→PC。ACC既要存放运算的操作数,也用来存放运算的中间结果。处理一条一地址指令只需两次访问。第一次取指令,第二次取操作数。4.零地址指令零地址指令中没有地址码只有操作码。零地址指令一般分为两类:*一类属于不需要操作数的机器控制类指令*一类是隐含指定了操作数地址的零地址指令4.2.4指令字长*一条指令所包含的二进制代码的位数称为指令的字长。*指令的字长由操作码的长度、操作数的长度决定。操作数则由操作数地址的长度以及指令所涉及的地址个数决定。*指令字长不一定等于机器字长。4.3寻址技术指定地址获得指令或操作数的方式称为寻址方式。寻址方式又分为指令寻址方式和操作数的寻址方式。指令的寻址方式只有顺序寻址和跳跃寻址两种寻址方式。操作数...