指令字长度=操作码长度+地址码长度
(源操作数地址长度和目的操作数地址长度)。
指令长度通常设计为字节(8位二进制)的整数倍。指令长度长,占存储空间就多,读取指令时间也就增加;指令长度短,情况相反。
一台计算机的指令系统中,指令长度通常不固定
,从一个字节到十几个字节不等,多数指令为短指令,少数复杂指令为长指令。固定长度的指令现在很少采用。
例8-1 DEC公司的PDP-11是16位小型机中的重要代表。它的基本指令字长为16位,占主存两个字节,但有些指令之后紧跟一个16位的地址或立即数,或紧跟两个16位地址或立即数,指令长度变为32位或48位。其格式如下:
例8-2 Intel 8086是曾经广泛使用的微处理器。它采取1~6个字节的变长指令格式。第一个字节是操作码,表明该指令的操作功能;第二个字节给出寻址方式与寄存器号;其后可跟两个字节的位移量或立即数,或再跟两个字节的立即数。其格式如下:
Intel 80386 / 80486允许指令最长达15个字节。
总结
- 指令字长=操作码长度+字节码长度