计算机程序是由一系列的机器指令组成的。
指令就是要计算机执行某种操作的命令。从计算机组成的层次结构来说,计算机的指令有微指令、机器指令和宏指令之分。微指令是微程序级的命令,它属于硬件;宏指令是由若干条机器指令组成的软件指令,它属于软件;而机器指令则介于微指令与宏指令之间,通常简称为指令,每一条指令可完成一个独立的算术运算或逻辑运算操作。
计算机的程序就是人们把需要用计算机解决的问题变换成计算机能够识别的一串指令或语句。编写程序的过程,称为程序设计,而程序设计所使用的工具则是计算机语言。
指令包含的信息及格式:一地址指令、零地址指令、二地址指令、三地址指令、多地址指令。
指令长度与字长的关系:
字长是指计算机能直接处理的二进制数据的位数,它与计算机的功能有很大的关系,是计算机的一个重要技术指标。首先,字长决定了计算机的运算精度,字长越长,计算机的运算精度越高。因此,高性能的计算机字长较长,而性能较差的计算机
字长相对要短一些。其次,地址码长度决定了指令直接寻址能力,若为n位,则可直接寻址2n字节。这对于字长较短(8位或16位)的微型机来说,远远满足不了实际需要。扩大寻址能力的方法,一是通过增加机器字长来增加地址码的长度;二是采用地
址扩展技术,把存储空间分成若干个段,用基地址加位移量的方法(参见寻址方式)来增加地址码长度。
指令的长度主要取决于操作码的长度、操作数地址的长度和操作数地址的个数。由于操作码的长度、操作数地址的长度及指令格式不同,各指令的长度不是固定的,但也不是任意的。为了充分地利用存储空间,指令的长度也通常为字节的整数倍。
指令的长度与机器的字长没有固定的关系,它既可以小于或等于机器的字长,也可以大于机器的字长。前者称为短格式指令,后者称为长格式指令,一条指令存放在地址连续的存储单元中。在同一台计算机中可能既有短格式指令又有长格式指令,但通常是把最常用的指令(如算术逻辑运算指令、数据传送指令)设计成短格式指令,便节省存储空间和提高指令的执行速度。
寻址方式是指根据指令中给出的地址码寻找操作数有效地址的方式。存储器既可用来存放数据,又可用来存放指令。因此,当某个操作数或某条指令存放在某个存储单元时,其存储单元的编号,就是该操作数或指令在存储器中的地址。
形成操作数的有效地址的方法,称为操作数的寻址方式。
操作数的寻址方式:隐含寻址、立即寻址、直接寻址、间接寻址、寄存器寻址方式和寄存器间接寻址方式、相对寻址方式、基址寻址方式、变址寻址方式、块寻址方式、段寻址方式。
复杂指令系统计算机(Complex Instruction Set Computer,简称CISC)。
精简指令系统计算机RISC。