某模型机的通路结构如下图所示,用寄存器传送语句(如PC→MAR),拟出下列指令从读取到执行的完整流程。
(1)数据传送指令MOV X(R
0
),Y(R
1
),源和目的操作数地址均采用变址寻址,第1个参数X为源操作数的形式地址,第2个参数为目的操作数的形式地址,分别位于指令的第2个和第3个存储字。
(2)数据求反指令COM-(R
0
),采用自减型寄存器间接寻址,结果送回自减后的地由E单元。
【正确答案】正确答案:(1)MOV X(R
0
),Y(R
1
) ①PC→MAR,Read ;取指令 ②M→MDR→IR ③PC+1→PC ④PC→MAR,Read ;取源操作数形式地址 ⑤M→MDR→C ⑥PC+1→PC ⑦C+R
0
→MAR,Read ;形成源操作数有效地址,并取源操作数 ⑧M→MDR→C ;源操作数暂存C中 ⑨PC→MAR,Read ;取目的操作数形式地址 ⑩M→MDR→D ⑩PC+1→PC ⑩D+R
1
→MAR ;形成目的操作数有效地址 ⑩C→MDR ;将源操作数送存储器数据寄存器 ⑩MDR→M,write ;将源操作数写入目的有效地址中 (2)COM-(R
0
) ①PC→MAR,Read ;取指令 ②M→MDR→IR ③PC+l→PC ④R
0
-1→R
0
,R
0
-1→MAR,Read ;修改R
0
的内容(源和目的操作数地址) ⑤M→MDR→D ;取出源操作数 ⑥D→MDR ;将源操作数取反 ⑦MDR→M,write ;写入目的地址中
【答案解析】解析:数据传送指令占3个字,第1个字是操作码和寄存器编号;第2个字是参数X,为源操作数的形式地址;第3个字是参数Y,为目的操作数的形式地址,源和目的操作数地址均采用变址寻址,指令的含义是:((R
0
)+X)→(R
1
)+Y。 求反指令仅占1个字,自减型寄存器寻址是先修改寄存器的内容(-1),再取数。 [归纳总结](1)MOV X(R
0
),Y(R
1
) 指令执行流程中的前3步是完成取指令的操作公操作;接下来的5步是去主存中取源操作数,把取出的数放在暂存器C中;然后的4步是形成目的操作数地址;最后2步完成传送操作。 (2)COM-(R
0
) 指令执行流程中的前3步是取指令公操作;接下来的2步是去主存中取源操作数,把取出的数放在暂存器D中;然后将D的内容取反,写入目的地址中。 [解题技巧]根据数据通路,写出指令执行的微操作序列。使用寄存器传送语句(如PC→ MAR),比较直观。