0

对于这个问题:

跟踪以下程序的 fetch-decode-execute 循环:

1 .org 100

2              Load One

3              JnS IncRoutine

4              Halt

5 IncRoutine , HEX 0

6              Add One

7              JumpI IncRoutine

8 One ,        DEC 1

对于加载一指令:

  Step           RTL              PC  IR   MAR  MBR  AC  M[103]
Load One   (initial values)       100  -    -    -   -    -
Fetch       MAR←PC                100  -   100   -   -    -
            IR←M[MAR]             100 1106 100   -   -    -
            PC←PC+1               101 1106 100   -   -    -
Decode      MAR←IR[11-0]          101 1106 106   -   -    -
            (Decode IR[15-12])
Get operand MBR←M[MAR]            101 1106 106 0001  -
Execute     AC←MBR                101 1106 106 0001 0001  -

我不明白上面显示的指令寄存器的 1106 是从哪里来的。如果有人可以解释那就太好了

4

1 回答 1

0

1106Load One指令的操作码。当它开始跟踪时,它甚至还没有获取指令。它将程序计数器加载到内存寄存器中,然后将内容提取到IR. 所以,IR有“要执行的指令”。下一步必须解码指令 ( 1) 和地址字段 ( 106)。

顺便说一句,如果你给我们一点线索,这会更容易一些。这是一些虚构计算机的虚构指令集,但没有细节,我们只是猜测。

于 2021-12-23T01:00:16.183 回答