For questions 3-4, provide the full MARIE RTN (register transfer
notation) for these new MARIE operations. Your answer
should include the fetch, decode, operand fetch (if necessary),
execution and store result (if necessary) stages. When you
see X in these instructions, this is a main memory address (the
last 12 bits of the 16-bit instruction) – refer to this as
IR[11..0] and not X in your RTN.
3) AutoIncrLoad X – the autoincrement addressing mode is used to
access a datum in an array where the address of the datum is stored
in two parts: X as the base or starting point of the array and the
index stored in a register; we will use a new register, R1. After
computing the address (X + R1), fetch the datum at that location
and place it into the AC, then increment R1 to point at the next
array location. Assume R1 has its own path to the ALU so it can be
incremented and returned to R1 without using the AC (that is, you
don’t have to move R1 to AC to add and then back to R1)
Please answer in the notation of
Fetch: MAR<-....
Decode:
Getoperand:
Execute:
The effective address will get as,
EA= [ (IR[11.....0]+R1)]+
+ represents the autoincrement mode.That is after computing the address,it will automatically incremented by 1.
In the following register transfer notation MAR refers to Memory Address Register and MBR refers to Memory Buffer Register.The effective address will be placed into MAR and the memory reads the data from this location and move to MBR.From there data is moved to AC.After R1 is incremented by 1.
MAR<---[ (IR[11.....0]+R1)]+
MBR<---M[MAR]
AC<----MBR
R1<---R1+1
Get Answers For Free
Most questions answered within 1 hours.