某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均有6位二进制表示,该指令系统共有m条(m

admin2013-07-12  53

问题 某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均有6位二进制表示,该指令系统共有m条(m<16)双操作数指令,并存在无操作数指令。若采用扩展操作码技术,那么最多还可设计出单操作数指令的条数是(    )。

选项 A、26   
B、(24-m)×26-1
C、(24-m)×26   
D、(24-m)×(26-1)

答案B

解析 双操作数指令操作码字段占4位,单操作数指令操作码字段占10位,无操作数指令操作码字段占16位。现指令系统中有m条双操作数指令,则给单操作数和无操作数指令留下了(24-m)个扩展窗口。因为存在着无操作数指令,所以单操作数指令必须要给无操作数指令留下一个扩展窗口,最终最多可以设计出单操作数指令的数目为(24-m)×26-1。
[归纳总结]因为如果指令长度一定,则地址码与操作码字段的长度是相互制约的。采用扩展操作码法是让操作数地址个数多的指令(三地址指令)的操作码字段短些,操作数地址个数少的指令(一或零地址指令)的操作码字段长些,这样既能充分地利用指令的各个字段,又能在不增加指令长度的情况下扩展操作码的位数,使它能表示更多的指令。
[解题技巧]选项C没有给无操作数指令留下扩展窗口,不完全符合题意。
转载请注明原文地址:https://kaotiyun.com/show/Erxi777K
0

最新回复(0)