Question
Write a MIPS program that declares a string (with .asciiz) containing a fairly short string, such as The quick brown fox jumps over a lazy
Write a MIPS program that declares a string (with .asciiz) containing a fairly short string, such as "The quick brown fox jumps over a lazy dog". .data str: .asciiz "The quick brown fox jumps over a lazy dog" The program will reverse the string in place; that is, without copying it to another place in RAM. The basic algorithm is as follows: Create 2 pointers, here called s and t (use registers)
Set pointer s to the start of the string.
Set pointer t to the end of the string
(scan for the '\0' terminator, then back up one place).
while( s < t )
swap *s and *t (here, * means "thing pointed to by" s and t)
increment s
decrement t end loop A swap routine in a language like C needs a temporary location c, e.g.:
c = *t
*t = *s
*s = c In C, *s means the thing pointed to by s. In assembler the registers you lb the bytes into can serve as the temporary location(s), so you don't need another location to hold a temporary value.
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