计算机技术中,指令是由指令集架构定义的单个的CPU操作。在更广泛的意义上,“指令”可以是任何可执行程序的元素的表述,例如字节码

在传统的构架上,指令包括一个操作码opcode)——它指定要进行什么样的操作,例如“将存储器中的内容与寄存器中的内容相加”——和零个或者更多的操作数operand)——它可能指定参与操作的寄存器、内存地址或者立即数(literal data)。操作数可能还包括寻址方式,它确定操作数的含义。[注 1]

超长指令字VLIW)构架中(包括很多微指令microcode)构架)多个并发的操作和操作数在一条单独的指令中被指定。

指令的长度相差悬殊,从一些微控制器microcontroller)中的4位(bit)到一些超长指令字系统中的几百位。大部分现代的个人计算机大型计算机超大型计算机中的处理器的指令尺寸在16到64位之间。在一些构架中,特别是RISC构架中,指令长度是固定的,通常与其构架的字长一致。在其他的构架中,指令有不同的长度,但通常是字节或者半个字的整数倍。

构成程序的指令很少以它在机器内部的数值形式而直接的被使用;它们可以被程序员通过汇编语言加以表示,或者,更常见的,被编译器生成。

注释

  1. ^ 原文:The operand specifiers may have addressing modes determining their meaning or may be in fixed fields.——译者

参看