Our Services

Get 15% Discount on your First Order

[rank_math_breadcrumb]

Programming Project

i want someone to do this project

CSE 230 Project 3: UART Palindrome Checker

Learning Objectives:

● Create modular code and interface with unfamiliar modularized code

The Task

In this project, you will be writing a program that receives a string of characters via the UART, checks if this

string is a palindrome, and then uses a print function to print either “Yes” or “No”. A palindrome is a sequence

of characters (typically a word or phrase) that is the same both forwards and backwards. For this project, strings

will be terminated using a period (‘.’). You may assume that a string will contain at least one letter in addition to

a period (e.g., the input, “b.”, should be considered a palindrome). You will not need to handle empty strings,

strings containing only a period, or stings containing characters other than letters, spaces, and periods. Your

program should be able to handle multiple strings sent one after another or concatenated together. For

example, the string: “abba. data.” should print “Yes” followed by “No” on the next line. Spaces should be

ignored when checking for a palindrome and the palindrome should not be case sensitive. For example, “A nut

for a jar of Tuna.” would be considered a palindrome.

Print Function

A template PLP project file is available to download on Canvas. The PLP project includes a second ASM file titled,

project3_lib.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_lib.asm should be made.

When called, depending on the value in register $a0, the following string will be displayed on the simulated

UART device’s output. If $a0 contains a zero then “No” will be displayed and if $a0 contains a non-zero value

(e.g. one) then “Yes” will be displayed. The print function is called using the following instruction:

call project3_print

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 template project file

includes an initialization that sets the stack pointer to 0x10fffffc (the last address of RAM).

Template Structure

The template project file contains six function stubs that need to be implemented. Five are called from the main

loop and the sixth is called from “period_check”. The template file contains comments with descriptions of what

each function needs to do and how it should be implemented. The table below provides a brief description of

the functions.

Function Name Function Description

poll_UART

Polling loop for UART’s status register,

reading new character, and indicating

character has been read

period_check

Checks if new character is a period and

makes a nested function call to

palindrome_check if it is

space_check Skips saving space characters to array

case_check
Converts new character to uppercase if it is

lowercase

array_push Saves new character to array

palindrome_check

Moves inwards from front and back of array

and compares characters at each step to

determine if the string is a palindrome. If at

any point mirroring characters are not

equal, then it should use the print function

to print “No”. If the comparison reaches or

passes the midpoint then the print function

should be used to print “Yes”.

Debugging Tools

To show that you properly tested your program, please save your program while it is in simulation mode (the

blue simulation mode button has been toggled on) such that a CPU Memory Visualization window is open and

shows at least the first 6 words of memory in the array. Please keep in mind that the starting address of the

array is relative to the number of initializations placed before the assembler directive allocating space for the

array. If you change your initializations you may need to adjust your CPU Memory Visualization base address.

The Array Example video in this project’s module demonstrates how to set up a CPU Memory Visualization

window. It is acceptable to also see program contents in memory (these cells will be colored blue). For example,

it would be acceptable to see the following in the visualizer after the string, “abcd.”, has been sent by the user.

Additionally, the watcher window should contain, at minimum, registers $v0, $s1, and $s2. You may also include

any other registers in the watcher window that you find useful for debugging.

Points will be deducted if a CPU Memory Visualization window configured to show the start of the array does

not open when simulation mode is toggled on or the watcher window does not include the minimum set of

registers (the watcher window does not need to open when simulation mode is toggled on).

Deliverables:

1. Take the Project 3 Pre Quiz (6 points)

2. Submit your program on Canvas with the format: Firstname_Lastname_project3.plp (21 points)

3. Take the Project 3 Post Quiz (3 point)

Share This Post

Email
WhatsApp
Facebook
Twitter
LinkedIn
Pinterest
Reddit

Order a Similar Paper and get 15% Discount on your First Order

Related Questions

co task 6

Topic-bitcoin Task 6 Objective: To apply systems thinking principles to analyze a blockchain network and understand its key components, interactions, and dynamics. Assignment Tasks: Select a Blockchain Network: Choose a specific blockchain network or cryptocurrency project to analyze. You can select well-known networks like Bitcoin, Ethereum, or any other blockchain

CO Task 5

In this homework, we explore Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine models. 1) (50 points) Use “credit_Dataset.arff” dataset and apply the Naïve Bayes, K-Nearest Neighbors, and Support Vector Machine technique using the WEKA tool in 2 different settings, including: a. 10 fold-cross validation. b. 80% training. Write a

PhD thesis

I need a comprehensive PhD thesis developed on the topic of “Emotion-Aware Artificial Intelligence and Sustainable Consumer Behavior: A Neuro-AI Marketing Framework for Continuous Green Consumption.”

Co project

· Comprehensive Literature Review: Require a more comprehensive survey of existing approaches. · Comparative Study: Expect more detailed benchmarking of at least 8 to 10 machine learning models. · Additional Experiments: · Conduct feature selection or dimensionality reduction as an extra step. · Explore ensemble methods or advanced techniques beyond

AI

Did AI take place the Software Engineers, HR consultants and Data Entry Jobs?

Data visualization 4 part 2

Follow the attached instructions to complete this work. Unit 4 Assignment Directions: Time Series In this assignment, you will perform a time series analysis in Tableau. · Choose a dataset to analyze based on the requirements provided.   · Once you’ve selected your time series, build a forecast to predict future

Computer Science CG Assignment 8 presentation

Follow the attach instruction to complete this work. Note: Make sure it aligns with Rubric Unit 8 Assignment 2 Directions: Final Presentation Purpose With this presentation, you will gain valuable experience demonstrating your expertise in cybersecurity governance by presenting as a CISO to a hypothetical professional audience.  Directions Begin by incorporating

Computer Science CG assignment 8

Follow the attached assignment to complete the work. Note: Follow Rubric Unit 8 Assignment 1 Directions: Presentation Rehearsal Purpose The rehearsal is your first run-through of your talk. Use the opportunity to de-bug any technical issues with lighting, positioning, and recording. You will not be graded on technical or artistic

Computer Science CG assignment 7 Outline

 Follow the attached document to complete this work Unit 7 Assignment 1 Directions: Professional Presentation Outline Purpose This assignment allows you time to review your research from previous units and organize your thoughts in an outline format. Plan on changing your paper and presentation based on feedback on this outline.  Directions

Computer Science CG assignment 6 ,

Follow the attached direction to complete this work. Note: Make sure it Aligns with Rubric Unit 6 Assignment 2 Directions: Timothy Brown vs. the SEC Purpose The Securities and Exchanges Commission (SEC) is a key US federal agency that regulates financial reporting. In this paper, you will explore how the

Microsoft 365Tenant to Tenant Migration Solution

A smooth tenant-to-tenant migration requires more than just moving mailboxes—it demands precision, security, and planning. With the MailsDaddy Cross-Tenant Migration Service, IT teams can execute a flawless cross-tenant mailbox migration that covers emails, attachments, calendars, contacts, and OneDrive data. It’s built for businesses of every size, ensuring the entire Office

CO Data 3

DECISION TREES for Risk Assessment One of the great advantages of decision trees is their  interpretability. The rules learnt for classification are easy for a person to follow, unlike the opaque “black box” of many other methods, such as neural networks. We demonstrate the utility of this using a  German

Computer Science Homework 1

MMIS 671 Homework 1. Constrained Optimization Problems A company produces 3 types of cables: A, B, and C. In-house production costs per foot of cables A, B, and C are $6, $8, and $10, respectively. The production process requires 5 resources: Drawing, Annealing, Stranding, Extrusion, and Assembly. For each resource,

MIMT

  Task 2.4 — Executing the Payload After decrypting and executing the transferred file, it generates a unique hash tied to your GTID. What’s the hash?

data Discussion 3

Follow the attached instructions to complete this. use the   CRM Sale Dashboard. Unit 3 Discussion: Deconstruction of an Advanced Dashboard: Trends and Improvements   Discussion Prompts · Does the dashboard designer use any of the trends that are described in Milligan’s Chapter 9? · If they did use those