A-A+

某机字长16位 存储器直接寻址空间为128字 变址时的位移量为-64~+63 16个通用寄存

2022-08-12 13:51:43 问答库 阅读 196 次

问题详情

某机字长16位,存储器直接寻址空间为128字,变址时的位移量为-64~+63,16个通用寄存器均可作为变址寄存器。设计一套指令系统格式,满足下列寻址类型的要求: (1)直接寻址的二地址指令3条; (2)变址寻址的一地址指令6条; (3)寄存器寻址的二地址指令8条; (4)直接寻址的一地址指令12条; (5)零地址指令32条。 试问还有多少种代码未用?若安排寄存器寻址的一地址指令,还能容纳多少条?


请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:×
(1)在直接寻址的二二地址指令中,根据题目给出直接寻址空间为128字,则每个地址码为7位,其格式如图7.15(a)所示。3条这种指令的操作码为00、01和10,剩下的11可作为下一种格式指令的操作码扩展用。(2)在变址寻址的一地址指令中,根据变址时的位移量为-64~+63,形式地址A取7位。根据16个通用寄存器可作为变址寄存器,取4位作为变址寄存器RX的编号。剩下的5位可作操作码,其格式如图7.15(b)所示。6条这种指令的操作码为11000~11101,剩下的两个编码11110和11111可作为扩展用。(3)在寄存器寻址的二地址指令中,两个寄存器地址Ri和Rj共8位,剩下的8位可作为操作码,比格式(2)的操作码扩展了3位,其格式如图7.15(c)所示。8条这种指令的操作码为11110000~11110111。剩下的11111000~11111111这8个编码可作为扩展用。(4)在直接寻址的一地址指令中,除去7位的地址码外,可有9位操作码,比格式(3)的操作码扩展了1位,与格式(3)剩下的8个编码组合,可构成16个9位编码。以11111作为格式(4)指令的操作码特征位,12条这种指令的操作码为111110000~111111011,如图7.17(d)所示。剩下的111111100~111111111可作为扩展用。(5)在零地址指令中,指令的16位都作为操作码,比格式(4)的操作码扩展了7位,与上述剩下的4个操作码组合后,共可构成4×27条指令的操作码。32条这种指令的操作码可取1111111000000000~1111111000011111。还有29-32=480种代码未用,若安排寄存器寻址的一地址指令,除去末4位为寄存器地址外,还可容纳30条这类指令。

考点:位移,存储器