Question
This is to be done using UART in the language PLP CSE 230 Project 3: UART String Conversion Learning Objectives: ? Create modular code and
This is to be done using UART in the language PLP
CSE 230 Project 3: UART String Conversion Learning Objectives:
? Create modular code and interface with unfamiliar modularized code
The Task
In this project, you will be writing a program that converts a string to an integer (similar to Javas Integer.parseInt() method or Pythons int() function). You program will receive ASCII strings from the UART, one character at a time. It should convert each string of characters into an integer value that is passed to a provided print function. Strings will be terminated using a semicolon (;) character and will contain one or more characters in addition to the semicolon. Your program should be able to handle multiple strings concatenated together and treat each string ending with a ; as a separate input. When processing strings, it should detect any invalid characters within a string. Invalid characters are any characters other than 0 through 9 and ;. If an invalid character is detected then the rest of the string (i.e. all characters leading up to and including the next ;) should be received by the UART, but ignored. Your program should then use the print function to output an error message and then continue processing the next string as a new string.
Print Function
A skeleton PLP project file is available to download on Blackboard. The PLP project includes a second ASM file titled, project3_print.asm. This ASM file contains the print function used in this project. PLPTool concatenates all ASM files within a PLP project into a single location in memory (unless additional .org statements have been added to specify different location for code). No changes to project3_print.asm should be made.
When called, the print function will send the value currently in register $a0 over the UART to the PLPTool simulated UART device. Register $a1 is used as an invalid character flag for the print function. If $a1 register contains a non-zero value, the print function will display an invalid character message instead of the value in register $a0. The print function is called using the following instruction:
To use the print function, your PLP program needs to initialize the stack pointer ($sp) before performing the function call (or any other operations involving the stack pointer). For this reason, the skeleton project file
call project3_print
includes an initialization that sets the stack pointer to 0x10fffffc(thelastaddressofRAM). This initialization only needs to be done once at the start of the program.
Deliverables:
Take the Project 3 Pre Quiz on Blackboard (3 points)
Submit your program on Blackboard with the format: lastname_project3.plp (25 points)
Note: Please do not zip the project file or include any additional files in your submission
Take the Project 3 Post Quiz on Blackboard (2 point)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started