题目:某计算机机为定长指令字结构,指令长度16位;每个操作数的地址码长6 位,指令分为无操作数、单操作数和双操作数三类。若双操作数指令已有K 种,无操作数指令已有L种,问单操作数指令最多可能有多少种? 上述三类指令各自允许的最大指令条数是多少?
解析:
对于双操作数,操作码长度为16-2*6=4位;
已知双操作数已有K种,所以留有(2^4-K)个编码给单操作数。
对于单操作数,操作码长度为16-6=10位,可扩展位为6位;
已知无操作数已有L种,设单操作数有Y种,那么有:
L=((2^4-K)*2^6-Y)*2^6
化简得:Y=((2^4-K)*2^6-L/2^6)
所以单操作数指令最多可能有((2^4-K)*2^6-L/2^6)种
对于双操作数,最大指令数为2^4-1=15个;
对于单操作数,最大指令数为15*2^6-1=4529个;
对于无操作数,最大指令数为2^16-2^12-2^6=61376个