某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用6位二进制表示,该指令系统共有M条(M<16)双操作数指令,并存在无操作数指令。若采用扩展操作码技术,那么最多还可设计出_____条单操作数指令。
固定码:指令占固定位数。
扩展码:根据操作数的情况采用几种不同位数的指令编码。
既占用操作数位来增加指令位长实现指令的增多。
本题用扩展码编码方式,双操作数指令最多占(16-6*2)即4位,如不用扩展编码,最
多只能有2的4次 方即16条指令,采用了扩展编码,当有单操作数情况时,就多出了6位空闲,
就可以设计单多于16条的指令了,但同时也要牺牲至少一个双操作数指令来避免混淆,
这时双操作数指令最多为15条,这种情况单操作数指令数为2的6次方。
由此我们可以知道,双操作数指令必须要小于16条才能用扩展码设计单操作数指令,
这也是已知条件为什么有M〈16了,由此我们也可以发现只要少设计1条双操作数指令就
可以多设计2的6次方条单 操作数指令,最后再减去无操作数指令数,就是我们所设计的
单操作数指令数了。因为我们要设计最多的单操作数指令,所以我们取无操作数指令数为1
那么,
单操作数指令数=(2的4次方-M)*2的6次方-1