某计算机字长为16位,主存地址空间大小为128KB,按字编址。采用单字长指令格式,指令各字段定义如下:转移指令采用相对寻址方式,相对偏移量用补码表示,寻址方式定义如下:
问答题 该指令系统最多可有多少条指令?该计算机最多有多少个通用寄存器?存储器地址寄存器(MAR)和存储器数据寄存器(MDR)至少各需要多少位?
【正确答案】正确答案:操作码占4位,则该指令系绩最多司有2 4 =16条指令。操作数占6位,其中寻址方式占3位、寄存器编号占3位,因此该机最多有2 3 =8个通用寄存器。主存地址空间大小为128KB,按字编址,字长为16位,共有128KB/2B=2 16 个存储单元,因此MAR至少为16位;因为字长为16位,故MDR至少为16位。
【答案解析】
问答题 转移指令的目标地址范围是多少?
【正确答案】正确答案:寄存器字长为16位,PC和Rn可表示的地址范围均为0~2 16 -1,而主存地址空间为2 16 ,故转移指令的目标地址范围为0000H~FFFFH(0~2 16 -1)。
【答案解析】
问答题 若操作码0010B表示加法操作(助记符为add),寄存器R4和R5的编号分别为100B和101B,R4的内容为1234H,R5的内容为5678H,地址1234H中的内容为5678H,地址5678H中的内容为1234H,则汇编语言为“add(R4),(R5)+”(逗号前为源操作数,逗号后为目的操作数)对应的机器码是什么(用十六进制表示)?该指令执行后,哪些寄存器和存储单元中的内容会改变?改变后的内容是什么?
【正确答案】正确答案:汇编语句“add(R4),(R5)+”,对应的机器码为
【答案解析】解析:考查指令格式和数据寻址方式。