扩展操作码

某计算机指令长度为32位,有3种指令: 双操作数指令、单操作数指令、无操作数指令。今采用扩展操作码的方式来设计指令,假设操作数地址为12位,己知有双操作数 指令K条,单操作数指令L条,问无操作数指令有多少条?
答案:

解:对于双操作数指令,操作码长度为(32-12×2)=8位;

对于单操作数指令,操作码长度为(32-12)=20位,可扩展位为20-8=12位;

对于无操作数指令,操作码长度为32位,可扩展位为32-20=12位。

由于双操作数指令有K条,而双操作数最多有28条,所以留有(28-K)个编码用于扩展到单操作数指令;

单操作数指令有L条,而单操作数指令最多有(28-K)×212条,所以留有[(28-K)×212-L]个编码用于扩展到无操作数指令;

根据以上分析:无操作数指令条数=[(28-K)×212-L] ×212

你可能感兴趣的:(嵌入式系统设计师-软考)