写出下列指令在模型机上的读取和执行流程,并指出该指令中源操作数的寻址方式分别是什么? (1)MOV (R0)+, R1 FT0 PC—>MAR FT1 M—>MDR—>IR, PC+1—>PC ST0 R1—>C DT0 R0—>MAR DT1 R0+1—>Z DT2 Z—>R0 ET0 C—>MDR ET1 MDR—>M (2)INC -(R2)
时间: 2024-04-02 11:37:41 浏览: 293
(1)MOV (R0)+, R1
读取流程:
1. PC中存放下一条指令的地址,将PC中的地址送入MAR中,MAR中存放地址为PC的值。
2. 将MAR中的地址送入存储器M的地址输入端,进行地址译码和访存,将存储器M中MAR地址指向的单元中的指令代码送入MDR中。
3. 将MDR中的指令代码送入IR中,指令译码后,根据指令中的寻址方式,计算源操作数的地址。
4. 将寄存器R0中的值送入MAR中,MAR中存放地址为R0的值。
5. 将MAR中的地址送入存储器M的地址输入端,进行地址译码和访存,将存储器M中MAR地址指向的单元中的值送入MDR中。
6. 将MDR中的值送入C中。
7. 将R0中的值加1,结果存回R0中。
执行流程:
1. 将C中的值送入MDR中。
2. 将MDR中的值送入MAR中,MAR中存放地址为R0的值。
3. 将R1中的值送入MDR中。
4. 将MDR中的值存入MAR地址指向的单元中。
源操作数的寻址方式:寄存器间接寻址
(2)INC -(R2)
读取流程:
1. PC中存放下一条指令的地址,将PC中的地址送入MAR中,MAR中存放地址为PC的值。
2. 将MAR中的地址送入存储器M的地址输入端,进行地址译码和访存,将存储器M中MAR地址指向的单元中的指令代码送入MDR中。
3. 将MDR中的指令代码送入IR中,指令译码后,根据指令中的寻址方式,计算源操作数的地址。
4. 将寄存器R2中的值送入MAR中,MAR中存放地址为R2的值减1后的结果。
5. 将MAR中的地址送入存储器M的地址输入端,进行地址译码和访存,将存储器M中MAR地址指向的单元中的值送入MDR中。
6. 将MDR中的值送入C中。
执行流程:
1. C中的值加1,结果存回内存地址为R2的值减1后的结果的单元中。
2. 将R2中的值减1,结果存回R2中。
源操作数的寻址方式:自动间接寻址
阅读全文