Consider an 8-bit system with 32 memory locations (numbered from 0 to 31) and 8 different instructions. Assume op code for "Load Accumulator" instruction is 510 and for "Add" instruction is 210. At this moment, the program counter register PC contains the value 00100 and is about to increment, memory locations contain the following values:
Address Contents
01101 00110110
01100 01110100
01011 10111000
:
00110 01001100
00101 10101011
00100 01111000
Perform two fetch-execute cycles, present each step of the cycles and the contents of each special-purpose register at the beginning and at the end of each step of the cycles in binary. If you believe there is no information on the contents of a particular register, indicate it as [unknown] (e.g., MDR[unknown]). If overflow occurs, the MSB is stored in a single-bit flag register and not counted in Accumulator. Express the final contents of Accumulator in both binary and decimal. For your answer, use the following table (two first lines are given as sample):
Step
|
PC
|
MAR
|
MDR
|
IR
|
A
|
PC→MAR beginning
|
00101
|
[unknown]
|
[unknown]
|
[unknown]
|
[unknown]
|
end
|
00101
|
00101
|
[unknown]
|
[unknown]
|
[unknown]
|