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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!