CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Dec 2010
    Posts
    1

    Help with mips program that reverses each word.?

    Hello, I have a problem that has been driving me crazy. I have a program that reads a string and then reverses the string but what I need is the program to reverse each word like: ("10 is ten" becomes "01 si net"). Can anyone help? Here is what I have:
    # PROGRAM:

    .data # Data declaration section
    a_string: .asciiz "desrever eb ot gnirts a si sihT\n"

    .text # Assembly language instructions
    main: la $a0,a_string #base address of string
    li $v0,4 #read string
    syscall

    addi $a1,$zero,32 #pass lenght of string
    jal stringreverse #reverse the string

    stringreverse:
    add $t0,$a0,$zero #starting address
    add $t1,$zero,$zero #i = 0
    addi $t2,$a1,-1 #j = length-1

    loop:
    add $t3,$t0,$t1
    lb $t4,0($t3) #the lb string[i]
    add $t5,$t0,$t2
    lb $t6,0($t5) #the lb string[j]
    sb $t4,0($t5) #string[j] = string[i]
    sb $t6,0($t3) #string[i] = string[j]
    addi $t1,$t1,1 #i++
    addi $t2,$t2,-1 #j--
    #if i>=j then break - $t1 < $t2
    slt $t6,$t2,$t1
    beqz $t6,loop

    exit:
    li$v1, 4 #system call to print reversed string
    la$a2, 0($a1)
    syscall

    li $v0, 10
    syscall # Exit program

    Thanks in advance for any help

  2. #2
    Join Date
    Dec 2010
    Posts
    1

    Re: Help with mips program that reverses each word.?

    Since your existing method works just make a method that calls that method to reverse each word or "substring", you can find such "substrings" by finding the 2 ' ' (space) characters.
    Just make a loop to go through the whole string, but be careful when writing the code for the first word, and last word because they only have a space on 1 side

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured