||
题一
某计算机指令字长为
16
位,指令有双操作数、单操作数和无操作数
3
种格式,每个操作数字段均用
6
位二进制表示,该指令系统共有
m
条(
m<16
)双操作数指令,并存在无操作数指令。若采用扩展操作
码技术,那么最多还可设计出()条单操作数指令。
A
.
2^6 B
.
(2^4-m)*(2^6)-1
C
.
(2^4-m)*2^6 D
.
(2^4-m)*(2^6-1)
答案选
B
分析:
对于双操作数指令而言,两个长度为
6
位的操作数共占了
12
位,剩余的
4
位用作操作码,所以可以设计
出
2
的四次方个双操作数指令
。
系统中已经设计出了
m
条双操作数指令
,
那么剩余的
2^4-m
条可以用于设
计单操作数的操作码。对于单操作数指令而言,它的操作码长度为
16-6=10
位。题目中要求使用扩展操作
码技术,所以单操作数指令在原来的双操作数指令的
4
位操作码上可以扩展
10-4=6
位,所以最多可以设
计出
(2^4-m)*(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 0000
... ... ... ...
1111 1101 1111 1111
若某机要求:三地址指令
4
条,单地址指令
255
条,零地址指令
16
条。设指令字长为
12
位.每个
地址码长为
3
位。问能否以扩展操作码为其编码
?
如果其中单地址指令为
254
条呢
?
说明其
理由。
答:①不能用扩展码为其编码。
∵指令字长
12
位,每个地址码占
3
位;