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

Wk4_300

Need help with a question. Due 3/10/2025 @ 9PM n the Week 4 labs, you performed tasks such as creating a cluster, restoring files, configuring account lockout policies, and verifying RAM usage.  Note: Ensure you have completed all lab exercises from Week 4 before completing this assessment. Assessment Details Write a 350-

Event Khusus dan Promosi di Witching Pot

“Saya sangat puas dengan pengalaman taruhan di situs ini. Setiap elemen, dari navigasi hingga pembayaran, berjalan dengan mulus. Ini menunjukkan profesionalisme dan kualitas layanan mereka. Saya pasti akan kembali lagi!”

Business/computer

Isolation Discussion Thread: Cybersecurity — Layering-Abstraction-Process Isolation The NSA has identified what they call the First Principles of cybersecurity. The following lists three of these: Principle Last Name Starts With Layering A through H Abstraction I through Q Process Isolation R through Z For your discussion, describe the principle assigned

D 3 of 459

 Building Block Technologies    What is an operational technology?  How is it similar or different than Consumer IoT? What emerging risks can you identify for an operational technology in a hypothetical utilities distribution monitoring & control environment (pipelines & transmission grids)?

D 2 of 459

  Follow the attach document to complete this work. Questions: 1. Consumer Internet of Things (IoT) has become ubiquitous and represents a major vector of cyber risk. Provide examples of consumer IoT that may be found in your own home (not sharing exact details is OK) 2. Provide a high

D 1 of 459

Follow the attach document to complete this work. Building Block Technologies   1. Software, Hardware, and Network Communications are considered building block technologies for enterprises. Define what they are, how they are used and give an example. 2. What are the most notable cyber risks for each type of building block?

D 8 0f 360

Follow the attach document to complete this work. International Cooperation for Cybersecurity   Prepare a 5- to 7-paragraph briefing statement that explains why wealthy nations and developing nations should work together to improve cybersecurity for the globally connected networks referred to as “the Internet.” Your statement should address the following.

D 7 of 360

Follow the attach document to complete this work. Policy Soup: Dealing with the Aftermath of a New Cybersecurity Policy   Prepare a 5 to 7 paragraph “Expert Opinion” for local government officials. This document should present a strategy for communicating with residents about a new “cybersecurity” policy that requires a

D 6 of 360

Follow the attach document to complete this work.  Partnerships for Improving State and Local Government Cybersecurity   Before you begin, read this report:  National League of Cities ( ) (Click the Download Report link at the bottom of the page) Prepare a briefing statement (3 to 5 paragraphs) for a group

D 5 of 360

Follow the attach instruction to complete this work. Background Briefing: How will the Governor’s Initiatives Improve Cybersecurity for the State’s Critical Infrastructures?   Discussion we transition from federal to state critical infrastructure. You are working for the Chief of Staff (CoS) for a newly elected Governor. The governor asked the

D 4 of 360

Follow the attach instruction to complete this work. Panel Presentation: Privacy Impact Assessments (PIA)  Coordinators of an upcoming conference, attended by federal government IT managers and staff, invited you to participate in a panel presentation about privacy. For this activity, prepare a 5 to 7 paragraph briefing statement which answers

Proj4-final

Project 4: Postmigration Activities  Step 1: Postmigration Activities Overview  Like any software development project, migration projects require careful planning to ensure success. This planning includes the postmigration testing and maintenance phase. Start this project by researching and planning the  postmigration activities that will be required to get BallotOnline’s migrated workloads in

Discussion-4

Discussion: Postmigration Approaches and Activities Contains unread posts Now that you have completed BallotOnline’s cloud migration, you will discuss the cloud postmigration activities and approaches. You should cover the following areas: · What is the business impact after the migration? · How will you manage service-level agreements in the cloud?

D 3 of 360

Follow the attach instructions to complete this work. How does FedRAMP help agencies ensure that Digital Government services are secure?   Must post first. Subscribe The format for your week 3 discussion is a backgrounder (“briefing paper”). Background papers are summaries of issues provided to help decision-makers/leaders/managers make decisions. Decision-makers

D 2 of 360

Follow the attach document to complete this work.  Briefing Statement: Security Implications of OPEN Data   Representatives from the  Joint Committee on Cybersecurity and Information Technology have asked you to provide a briefing as part of their “Cyber Scholars Day.” The committee is sponsoring this day of briefings and outreach for

D 1 of 360

Follow the attach document to complete this work. Growing Reliance on Digital Government Services   Your 1 discussion short paper assignment is to write a  workplace newsletter article. As you work on this type of discussion item, think about the newsletters you receive in your workplace. Are they engaging? Do they

Week 3 Discussion: PUMP Versus PMBOK® Guide Approach

I put the links to both the text and the PMBOK Guide, it is through my school library so it may not come up without my login at the botton of the instructions also in bold letters is the information to both the course text and the guide please let

wk 9 distance edu

PLEASE SEE IF YOU CAN LOOK UP THE READING IN THE FILE PORTION, I WAS NOT ABLE TO PULL IT UP UNFORTUNATELY!  After reading “Applying “Design Thinking” in the Context of Media Management EducationLinks to an external site.,” think about all aspects of learning online: activities, workload, faculty-to-learner communication, and