指令格式 指令由操作码和地址码两部分组成,它的基本格式如下: 操作码 地址码 1.操作码 操作码是说明指令操作性质的二进制数代码。 操作码所占的二进制位数决定了一台计算机所能允许的指令 条数。 例如,操作码占用六位二进制码时,这台计算机最多允许有: 26=64条指令 计算机组成原理 6
计算机组成原理 6 指令格式 指令由操作码和地址码两部分组成,它的基本格式如下: 操 作 码 地 址 码 • 操作码是说明指令操作性质的二进制数代码。 •操作码所占的二进制位数决定了一台计算机所能允许的指令 条数。 例如,操作码占用六位二进制码时,这台计算机最多允许有: 2 6=64 条指令 1.操作码
操作码字段分两种: (1)固定长度操作码 固定长度操作码是指操作码所占的二进制位数固定不变,而 且集中放在指令字的一个字段中。 这种格式有利于简化硬件设计,减少指令译码时间,广泛用 于字长较长的大、中型计算机和超级小型计算机中。 例如IBM37和ⅥX-11系列机中,操作码的长度都是8位, 可表示256条指令。 (2)可变长度操作码 可变长度操作码是操作码扩展技术的应用,即操作码的长 度是可变的,且分散地放在指令的不同字段中。这种格式有利 于压缩程序中操作码的平均长度,在字长较短的微型机中被广 泛应用。如:PDP-11, INTEL8086/80386等,其操作码的长 度均是可变的。 计算机组成原理
计算机组成原理 7 固定长度操作码是指操作码所占的二进制位数固定不变,而 且集中放在指令字的一个字段中。 这种格式有利于简化硬件设计,减少指令译码时间,广泛用 于字长较长的大、中型计算机和超级小型计算机中。 例如IBM370和VAX﹣11系列机中, 操作码的长度都是8位, 可表示256条指令。 (2)可变长度操作码 可变长度操作码是操作码扩展技术的应用,即操作码的长 度是可变的,且分散地放在指令的不同字段中。这种格式有利 于压缩程序中操作码的平均长度,在字长较短的微型机中被广 泛应用。如:PDP-11,INTEL 8086/80386等,其操作码的长 度均是可变的。 (1)固定长度操作码 操作码字段分两种:
下图是一种扩展操作码的安排示意。 OP 2 4位4位4位4位 这是一个16位字长的指令码,包括4位基本操作码字段和三个 4位长的地址字段。4位基本操作码,若全部用于三地址指令, 则有16条。 显然,4位基本操作码是不够的,必须向地址码字段扩展操作 作码的长度。其扩展方法及步骤如下 计算机组成原理
计算机组成原理 8 下图是一种扩展操作码的安排示意。 这是一个16位字长的指令码,包括4位基本操作码字段和三个 4位长的地址字段。4位基本操作码,若全部用于三地址指令, 则有16条。 显然,4位基本操作码是不够的,必须向地址码字段扩展操作 作码的长度。其扩展方法及步骤如下: OP A1 A2 A3 4位 4位 4位 4位
①15条三地址指令的操作码由4位基本操作码00011给定 剩下一个110则用于把操作码扩展到X地址码字段,即由4位 扩展到8位; 0000 XXXX YYYY ZZZZ 00 AX YYYY ZZZZ15条三地址指令 1110 XXXX YYYY ZZZZ 1111 0000 YYYY ZZZZ 1111 0001 YYYY ZZZZ 14条二地址指令 1111 1101 YYYY ZZZZ 计算机组成原理
计算机组成原理 9 ① 15条三地址指令的操作码由4位基本操作码0000~1110所给定, 剩下一个1111则用于把操作码扩展到X地址码字段,即由4位 扩展到8位;
②14条二地址指令的操作码由8位操作码的110,01 给定,剩下的111,10和111,11可用于把操作码扩充到Y 地址字段,即从8位又扩充到12位; 1111 0000 YYYY ZZZZ 1111 0001 YYYY ZZZZ 14条二地址指令 1111 1101 YYYY ZZZZ 111111100000ZZZZ 111111100001ZZZZ 31条一地址指令 111111111110ZZZZ ③31条一地址指令的操作码由12位操作码的 1111,1110,0000~1111,1111定。 计算机组成原理 10
计算机组成原理 10 ② 14条二地址指令的操作码由8位操作码的1111,0000~1111,1101 给定,剩下的1111,1110和1111,1111又可用于把操作码扩充到Y 地址字段,即从8位又 扩充到12位; ③ 31条一地址指令的操作码由12位操作码的 1111,1110,0000 ~ 1111,1111,1110给定