Question: Assignment - Reverse String Problem Statement: Create a Legv 8 program that reverses the characters in a string. The program should handle strings stored in
Assignment
Reverse String
Problem Statement: Create a Legv
program that reverses the characters in a string. The program should handle strings stored in memory and reverse the order of characters in place.
Requirements
Input:
The program should begin with a predefined string stored in memory. Choose a string that is a mix of characters, including spaces and punctuation, with a length of at least
characters.
Clearly define the starting address of the string in the program.
Process:
Develop the assembly code to reverse the string in place, without using additional memory to store the reversed string.
Ensure the program correctly handles the null
terminator character at the end of the string to maintain proper string formatting in memory.
Output:
After reversing, the program should ensure the modified string is correctly null
terminated and stored back at its original memory location.
Hint:
this is the ascii code of hello
Convert it to hex
Then store in memory
This solution does not work in LEGv
Simulator. Please correct the code and try it in LEGv
Simulator. I need correct solution.
data
string:
byte
x
x
x
C
x
C
x
F
x
C
x
x
x
F
x
x
C
x
x
x
x
x
text
global
start
start:
Load the base address of the string
LDR X
string
Find the length of the string
MOV X
X
Copy base address to X
find
end:
LDRB W
X
Load byte at X
into W
CBZ W
reverse
If byte is null, jump to reverse
ADD X
X
#
Increment X
B find
end
reverse:
SUB X
X
#
Decrement X
to point to the last character
Set up pointers for swapping
MOV X
X
X
is the start pointer
MOV X
X
X
is the end pointer
swap:
CMP X
X
Compare start and end pointers
B
GT done
If start
end, we're done
is it safe to solve
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
