
操作码指令扩展.docx
2页题一某计算机指令字长为16位,指令有双操作数、单操作数和无操作数3种格式,每个操作数字段均用 6位二进制表示,该指令系统共有m条(m<16)双操作数指令,并存在无操作数指令若采用扩展操作 码技术,那么最多还可设计出()条单操作数指令A. 2A6 B. (2A4-m)*(2A6)-1C. (2A4-m)*2A6 D. (2A4-m)*(2A6-1)答案选B分析:对于双操作数指令而言,两个长度为6位的操作数共占了 12位,剩余的4位用作操作码,所以可以设计 出2的四次方个双操作数指令系统中已经设计出了 m条双操作数指令,那么剩余的2M-m条可以用于设 计单操作数的操作码对于单操作数指令而言,它的操作码长度为16-6=10位题目中要求使用扩展操作 码技术,所以单操作数指令在原来的双操作数指令的4位操作码上可以扩展10-4=6位,所以最多可以设 计出(2八4何)*(2八6)-1条单操作数的指令减去1的原因是“存在无操作数指令”,所以至少留下一个用来扩 展无操作数指令题二指令字长为16位,采用扩展操作码技术,形成15条三地址指令、12条二地址指令、31条一地址指令和16条零地址指令三地址:(15条)0000 **** **** ****1110 **** **** ****二地址:(12条)1111 0000**** ****1111 1011**** ****一地址:(31条)1111 1100 0000 ****1111 1101 1110 ****零地址:(16条)1111 1101 1111 00001111 1101 1111 1111若某机要求:三地址指令4条,单地址指令255条,零地址指令16条。
设指令字长为12 位.每个地址码长为3位问能否以扩展操作码为其编码?如果其中单地址指令为254条呢?说明其 理由答:①不能用扩展码为其编码•指令字长12位,每个地址码占3位;三地址指令最多是2A(12-3-3-3)=8条,现二地址指令需4条,・.・可有4条编码作为扩展码,..・单地址指令最多为4'2人3'2人3=2人8=256条,现要求单地址指令255条,...可有一条编码作扩展码・.・零地址指令最多为1'2人3=8条不满足题目要求...不可能以扩展码为其编码某计算机指令长度为32位,有3种指令:双操作数指令、单操作数指令、无操作数指令今 采用扩展操作码的方式来设计指令,假设操作数地址为12位,己知有双操作数指令K条, 单操作数指令L条,问无操作数指令有多少条?答案:解:对于双操作数指令,操作码长度为(32—12X2) = 8位;对于单操作数指令,操作码长度为(32—12) = 20位,可扩展位为20—8=12位;对于无操作数指令,操作码长度为32位,可扩展位为32—20=12位由于双操作数指令有K条,而双操作数最多有28条,所以留有(28 —K)个编码用于扩展到 单操作数指令;单操作数指令有L条,而单操作数指令最多有(28 —K)X212条,所以留有[(28 —K)X212 — L]个编码用于扩展到无操作数指令;根据以上分析:无操作数指令条数=[(28 —K)X212—L] X212。
