指令操作码的扩展技术5.2.2假设某机器的指令长度为16位,包括4位基本操作码和三个4位地址码段15...1211......8 7 ......4 3.....0OPA1A2A34位基本操作码可表示16个状态,因此如用4位操作码则能表示16条三地址指令,而用8位操作码则可表示256条二地址指令。而用12位操作码则可表示4096条一地址指令
5.2.2 指令操作码的扩展技术 假设某机器的指令长度为16位,包括4位 基本操作码和三个4位地址码段。 15. 12 11.8 7 .4 3.0 OP A1 A2 A3 4位基本操作码可表示16个状态,因此如用 4位操作码则能表示16条三地址指令,而用8位 操作码则可表示256条二地址指令。而用12位操 作码则可表示4096条一地址指令
可变格式操作码的指令示例如果需要三地址、二地址、一地址指令各15条、零地址指令16条,如何安排操作码昵?例如可以这样规定:OPA1A2A315条三地址指令的操作码为:0000~1110前4位111115条二地址指令的操作码为:即 1111 0000 ~ 1111 111015条一地址指令的操作码为:前8位均为1,即11111111 0000 ~11111111 111016条零地址指令的操作码为:前12位均为1,即1111111111110000~111111111111111
15条三地址指令的操作码为:0000 ~ 1110 15条二地址指令的操作码为:前4位1111, 即 1111 0000 ~ 1111 1110 15条一地址指令的操作码为:前8位均为1, 即 11111111 0000 ~11111111 1110 16条零地址指令的操作码为:前12位均为1, 即 1111111111110000~1111111111111111 可变格式操作码的指令示例 如果需要三地址、二地址、一地址指令各 15条、零地址指令16条,如何安排操作码呢? 例如可以这样规定: OP A1 A2 A3
例.指令字长16位,可含有3、2、1或0个地址,每个地址占4位。操作码地址码15~1211~87~43~X0000Z..15条e:三地址指令ZX1110YZ1111000015条Q.00.0二地址指令ZY11101111Z111111110000一地址指令15条...Z111011111111000011111111111116条零地址指令··S1111111111111111
例. 指令字长16位,可含有3、2、1或0 个地址,每个地址占4位。 操作码 地址码 15~ 12 11~ 8 7 ~ 4 3 ~ 0 0000 X Y Z 1110 X Y Z . . . . 1111 0000 Y Z 1111 1110 Y Z . . . . 三地址指令 15条 二地址指令 15条 1111 1111 0000 Z 1111 1111 1110 Z . . . . 一地址指令 15条 1111 1111 1111 0000 1111 1111 1111 1111 . . . . 零地址指令 16条
可变格式操作码的指令示例3再如:同样情况下用可变格式操作码分别形成三地址指令15条、二地址指令14条、一地址指令31条和零地址指令16条。按要求得到结果之一如下:15条三地址为:0000~111014条二地址为:11110000 ~1111110131条一地址为:111111100000~11111111111016条零地址为:1111111111110000~111111111111
15条三地址为: 0000 ~ 1110 14条二地址为: 11110000 ~11111101 31条一地址为: 111111100000 ~111111111110 16条零地址为: 1111111111110000~1111111111111111 可变格式操作码的指令示例3 再如:同样情况下用可变格式操作码分别形成三 地址指令15条、二地址指令14条、一地址指令31 条和零地址指令16条。按要求得到结果之一如下:
操作码扩展方法的原则:使用频度高的指令分配短的操作码:使用频度低的指令分配较长的操作码表5.1指令出现概率与操作码长度的选择指令概率P(%)操作码操作码长度(位)114500212280121317102145110041s31101411111041111114
操作码扩展方法的原则: 使用频度高的指令分配短的操作码;使用频度低的 指令分配较长的操作码