Here's the question
The content of PC in the basic computer architecture (given below) is 3AF. The content of AC is 7EC3. The content of memory at address 3AF is A32E. The content of memory at address 32E is 09AC. The content of memory at 9AC is 8B9F. The next two contents of PC are 3B0 and 3B1. The content of memory at address 3B0 is 1340 and the content of memory at 3340 is 10B0. The content of memory at address 3B1 is 3345. Identify each register values mentioned in the question and update according to the sequence of PC value.
I am able to run up till the part where it says
the content of memory at 1340 is 10B0
After first instruction executes, that is 3AF
, a memory reference instruction is executed which in the end puts 8B9Fh in DR and AC. Here's the execution:
Clock Operations Result
T0 AR <- PC AR = 3AFh
T1 IR <- M[AR], PC <- PC + 1 IR = A32Eh, PC = 3B0h
T2 D <- IR(12-14), AR <- IR(0-11), I <- IR(15) D = 010b, I = 1b, AR = 32Eh
T3 AR <- M[AR] AR = 9ACh
D2T4 DR <- M[AR] DR = 8B9Fh
D2T5 AC <- DR, SC <- 0 AC = 8B9Fh
Now at the second instruction, the confusion begins. I think the Question may be wrong. Here's the execution:
Clock Operations Result
T0 AR <- PC AR = 3B0h
T1 IR <- M[AR], PC <- PC + 1 IR = 1340h, PC = 3B1h
T2 D <- IR(12-14), AR <- IR(0-11), I <- IR(15) D = 001b, I = 0b, AR = 340h
T3 Nothing
D1T4 DR <- M[AR] DR = M[340]??? Here's the problem
The question says "the content of memory at 1340 is 10B0". However, we can't possibly store 1340 in a 12 bit AR. I will provide further details if the question is unclear, please comment below.