Section 8.6
Review Questions

Indirect addressing in action

  1. What does S stand for in regards to the S register?
  1. Which instructions use the S register during loading and storing?
  1. What kinds of high level language data concepts make use of address arithmetic?
  1. Given the following array, what is the address of stuff[5]?
  1. Again referring to the above array, what is the address of stuff[i]?
  1. Can the address of stuff[i] be fixed during assembly time and the address encoded into an LOD or STD instruction?
  1. Which of the following C statements would use STS?
               stuff[i] = 15;
               n = stuff[i];
  1. What does the C notation &stuff[0] mean?
  1. For all loads and stores, both direct and indirect, where is the data kept? For example, with loads, where does the data from the desired memory word end up? For stores, where does the programmer keep the data that will be written into memory?
  1. During an STS instruction, which register gets the contents of A?
               MAR           MBR
  1. How is an address calculated prior to its use from the S register? In other words, where is address arithmetic done? In which register?
  1. Why can't the IR register be changed during an indirect load or store?