ET:M->IR PC+1->PC ET: R0->PC,MAR
时间: 2023-08-07 14:16:21 浏览: 112
好的,根据您提供的答案,下面是JMP R0指令的指令流程:
FT: 从PC寄存器中读取当前指令的地址,将其存储到MAR寄存器中。
M->IR
PC+1->PC
ET:
FT: 从R0寄存器中读取要跳转的地址,将其存储到PC寄存器中。
R0->PC
MAR->MDR
ET:
整个指令执行完毕后,程序将跳转到R0寄存器中存储的地址。这个指令通常被用于实现无条件跳转。
相关问题
写出下列指令在模型机上的读取和执行流程,并指出该指令中源操作数的寻址方式分别是什么? (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)
(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中。
源操作数的寻址方式:自动间接寻址
不对 我要的是我那种形式的 就是加上FT:ET:等等
好的,抱歉我没有理解您的意思。下面是JMP R0指令的指令流程,按照您的格式:
FT: 从PC寄存器中读取当前指令的地址,将其存储到MAR寄存器中。
M->IR
FT: 从MAR寄存器指定的内存地址中读取指令代码,将其存储到MDR寄存器中。假设指令代码是JMP R0。
M->MDR
FT: 将MDR寄存器中的指令代码移动到IR寄存器中,以便对其进行解码和执行。
IR->OP
FT: 从R0寄存器中读取要跳转的地址,将其存储到PC寄存器中。
M->PC
FT: 执行跳转指令,程序跳转到R0中存储的地址。
ET:
整个指令执行完毕后,程序将跳转到R0寄存器中存储的地址。这个指令通常被用于实现无条件跳转。
阅读全文