Homework 1

Read Atmel Flash Microcontroller Architecture Overview. Answer the following questions:

  1. If your program requires 150 bytes of data storage (not counting SFRs), how much RAM space is left for the stack? There are several possible answers to this question depending on what you include the 150 bytes above, so just be clear on your reasoning. To what value would you initialize the stack pointer, given your argument?
  2. How does the register bank architecture serve to reduce code space as suggested by the document?  How can the register banks be used to improve the performance of subroutine calls and task switching? and what would the Compiler or OS, respectively, have to do to take advantage of them?
  3. Give one or two probable reasons that the INC DPTR instruction requires twice as much time to execute as INC A?