<< Chapter < Page Chapter >> Page >
A lab that introduces a student to assembly language programming.

In this lab you will be introduced to assembly programming. The specific assembly language instruction set of the MSP will be explained. Setting up and executing assembly projects in Crossworks will also be explained. Finally you will implement the blinking lights program from the previous lab in assembly.

Read the following modules before you begin lab exercises:

  • CPU Registers in the MSP430
  • Structure of an Assembly Program

Formulate instructions to do the following things:

  • Set bit 3 to 1 at the memory address 0xd640 while leave bits 0-2 and 4-16 unaffected.
  • Jump to the instruction labeled POINT if the carry bit is set.
  • Shift register R6 right one place while preserving the sign.

Got questions? Get instant answers now!

Examine this loop: ... more instructions... Mov.w&I, R4 Cmp.w #0x0000, R4JZ After_loop Start_loop:Dec.w #0x0001, R4 JZ After_loopBR #Start_loop After_loop:...more instructions...

  • How many times will this loop execute?
  • Why do we use the BR instruction with a #Start_loop, but with the JZ we use a plain After_loop?
  • What does the first JZ instruction do? If we did not have this initial Cmp and JZ, what (possibly) inadvertent effect might occur?

Got questions? Get instant answers now!

Re-write the blinking light program from Lab 2, now using assembly code. The program should do the following:

  • When the program starts all three LED’s should light up for about a second then turn off.
  • Next, the green LED should blink for about 1/2 second on, 1/2 second off while the other two LED’s are off.
  • Pushing Button 1 should cause the green LED to stop blinking and cause the red LED to start the blinking pattern.
  • Pushing the button again should continue the pattern with the yellow LED, and pushing it more times should repeat the green, red, yellow pattern. Note that the current LED that's blinking should stop as soon as the button is pressed and the next LED should begin immediately.

Got questions? Get instant answers now!

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Microcontroller and embedded systems laboratory. OpenStax CNX. Feb 11, 2006 Download for free at http://cnx.org/content/col10215/1.29
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Microcontroller and embedded systems laboratory' conversation and receive update notifications?

Ask