LC-3有一个指令"LDR DR, BaseR, offset",在这个指令被译码之后,则产生下面一些操作,(或称为“微指令” (microinstruction)):
MAR <— Base + RSEXT (Offset6);set up the memory address
MDR <—Memory [MAR] : read mem at BaseR +offset
DR <—MDR;load DR
MDR <—Memory [MAR] : read mem at BaseR +offset
DR <—MDR;load DR
假设LC-3要引入一个新指令"MOVE DR, SR",即将地址为SR的内在单元内容拷贝至,地址为DR的内存单元。问:
a. MOVE指令并不是必需的,因为它能完成的工作通过LC-3现有的一组代码组合也可以完成(又称为仿真(emulate)),试写出(或仿真) "MOVE RO, R1"指令的LC-3代码;
b.如果LC-3真的添加了MOVE指令,试写出它的微指令序列(从译码完成之后开始)。