Assignment 3 - Control Flow




The Program

(20pts) Write a program that reads an unsigned word from 0x0216.

Extra credit goes to the student who creates the shortest program. My solution is 20 instructions long.


  1. (10pts each) Run the following starting values through your program and record the results. Be sure to list the expected answer (4 pts), the answer you received (3 pts), and address that answer was written to (3 pts).

    a) 0x1235:

    b) 0x1234:

    c) 0x1001:

    d) 0x0800:

    e) 0x801:

    1. (20pts) In the MSP430G2553 detailed Tech Doc (using PDF with bookmarks recommended):
      a) (5pts) What is the range of recommended operating voltages for the MSP430G2553?

      b) (5pts) What are the absolute maximum and minimum voltages that should be applied to any pin?

      c) (10pts) Interpreting Electrical Characteristics. Running at 3.5 V, what is the operating current of the MSP430G2553 at
      i) Fdco = 16 MHz

      ii) Fdco = 12 MHz

      iii) Fdco = 8 MHz

      iv) Fdco = 1 MHz

      1. (10 pts) For the following question consult page 25.
        a) Assume your MSP430 is operating at room temperature and 3 V supply. You need to draw a large amount of current from an MSP430 I/O pin while not allowing the output voltage to fall below Vcc = 2.5 V at high-level output voltage and rise above Vss = 0.5 V at low-level output voltage. How much current can you draw from the I/O pin in each case?

        b) Pin P1.0 can be functionally multiplexed between an I/O signal and an analog-to-digital converter (ADC) signal (represented by AX, where X is the pin number). In order to select the proper multiplexed signal, one must ensure certain bits are set or cleared in certain registers. Describe what values need to be written to P1DIR, P1SEL, and P1SEL2 in order to select a) digital output and b) ADC input for P1.0. Hint, consult page 43.

        Turn-in Requirements

        • Submit your final working assembly program on Bitbucket.
        • Turn in answers to the above questions.