The Task: Write a program in PLP assembly that repeatedly reads the value of the switches (address: 0xf0100000) and displays a pattern on the LED array based on what switches. Each time the switch value is read, the pattern should be displayed (regardless of whether the switch value has changed or not since the last time it was read).
CSE 230 Project 2: LED Pattern Generator
Learning Objectives:
●
Use PLP branch instructions
●
Read from a memory mapped I/O device
The Task:
Write a program in PLP assembly that repeatedly reads the value of the switches (address: 0xf0100000) and
displays a pattern on the LED array based on what switches. Each time the switch value is read, the pattern
should be displayed (regardless of whether the switch value has changed or not since the last time it was read).
The table below indicates the pattern that should be displayed for each possible switch setting:
Switch
Hexadecimal
Binary
Decimal
Number
Switch Value
Switch Value
Switch Value
0
0x00000001
0b00000001
1
LED Pattern
Turn on LEDs 0, 1, 2, and 3, then set all 8
LEDs to off
1
0x00000002
2
0b00000010
Turn on LEDs 4, 5, 6 and 7, then set all 8
LEDs to off
2
0x00000004
4
0b00000100
Create a scrolling pattern that moves
from right to left starting with LED 1 and
skipping every other LED. Only one LED
should be on at any given time (i.e., LED
1, then LED 3, then LED 5, then LED 7)
and the pattern should end with all LEDs
off.
Other
Other
Other
Other
All LEDs off
Hint: Logical shifts are not required to complete this project, but they can be used to make your program shorter
and more readable than hard coding every value to be written to the LEDs. Shifts can also be useful to generate
the value that you compare with the value of the switches.
Deliverables:
1. Take the Project 2 Pre Quiz (2 points)
2. Submit your program on Canvas with the format: Firstname_Lastname_project2.plp (16 points)
3. Take the Project 2 Post Quiz (2 points)