MIPS Assembly Swap Case
Task 3: Swap Case (worth 40 pts)
Involved skeleton file (MIPS assembly): swap_case.asm
In this task, you will implement the SwapCase function in swap_case.asm using the
MIPS Calling Convention. The function SwapCase takes one argument:
1. The address of a string of characters, held in $a0.
The main purpose of the function is to swap the case of a character. This is achieved by going
through the string one character at a time. On each character, the function should do the following,
1. Check if the character is a letter or not, if yes then continue doing next steps or else go-to
the next character i.e. next loop iteration.
2. Print out the current character of the string
3. Print out the new character with the opposite case. (e.g. if character was a, then A should
be printed and vice versa)
4. Call the ConventionCheck function, to help make sure the proper MIPS Calling
Convention is being followed
Do not implement the ConventionCheck function yourself, or modify it in any way. On our
end, we are going to use our own version of ConventionCheck while grading, so the only
assumptions you can make about ConventionCheck are that it will follow the MIPS Calling
Convention.
While we provide a string in the swap_case.asm file, your code should work on any arbitrary string.
On our end, for testing purposes, we will use different strings, so your code should work with any
other valid (non-empty) string.
The main function provided in swap_case.asm calls SwapCase on your behalf, and it will display the
contents of the string after calling SwapCase.
Your output should have the format shown below. The first two lines and the last line are generated
by the main function, so you do not have to implement anything to print those portions out. The
lines containing the words “Convention Check” are produced by the ConventionCheck function
that you must call after printing each input.
To help clarify which output you need to produce and which output is produced for you, the
output that you must produce is marked in bold and highlighted.