Section 8.4: An instruction in micro-detail (Frame 2)                     [prev][home][next]

The x value is treated as the address of the second operand of the addition operation, which will come from memory. If x=000000001101, which is 13 in binary, then memory word 13 (all 16 bits) will be retrieved from memory and put into the TMP before the adder is allowed to get started. Since no shifting is desired, the shifter is told to pass through the output of the adder unchanged, which is then redirected back into the A register. This is expressed much more succinctly in the RTL for ADD:

A <- A + m[x]