Question: Consider the following program written in assembly language. Program 1 Memory Address Instruction 000 Load 004 001 Add 005 002 Store 003 003 Jump 003
Consider the following program written in assembly language.
| Program 1 |
| |
| Memory Address | Instruction |
|
| 000 | Load 004 |
|
| 001 | Add 005 |
|
| 002 | Store 003 |
|
| 003 | Jump 003 |
|
| 004 | Hex 12BF |
|
| 005 | Hex 5D41 |
|
Assume that the computer has just executed the first instruction of the program shown above, and is going to execute Add 005.
Complete the sequence of RTLs (microinstructions) in this cycle. Then perform a trace of the execution of the instruction within one fetch-decode-execute cycle. The initial values of the registers are shown below.
| Time step | Stage | RTL | PC | IR | MAR | MBR | AC |
| start | (init. value) |
| 001 | 1004 | 004 | 12BF | 12BF |
| 1 | Fetch | ? |
|
|
|
|
|
| 2 |
| ? |
|
|
|
|
|
| 3 |
| ? |
|
|
|
|
|
| 4 | Decode | ? |
|
|
|
|
|
| 5 | Get operand | ? |
|
|
|
|
|
| 6 |
| ? |
|
|
|
|
|
| 7 | Execute | ? |
|
|
|
|
|
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
