Starting from:
$35

$29

Project Four: Copy a String in Reverse Order Solution

Objectives:

Declare and initialize null-terminated string
Apply indirect address
Write loop
Apply Irvine.inc library functions to display a string
Problem Description:

Write a program with a loop and indirect address that copies a string from source to target. Revising the character order in the process. Use the following variables:

source BYTE “This is the string that will be reversed”, 0

target BYTE SIZEOF source DUP(‘#’)

You may refer to the Programming Exercise #7 on Page 138 of the textbook.

Hint:

You may study the book example “Copying a String” on page 127 first. However, this project has three different things from the book’s example.

You need two index register. One for the index of source, another for index of target. You can use Register ESI for index of source and Register EDI for index of target
You will not copy the last character in source, which is null character (the terminator of source string). So the initial value of ESI shall be set as OFFSET target – 2 since the target string is stored right after the source string in memory
After the loop, you need add null character to the end of the target string
How to View Output:

After Chapter Five, you will be able to write statement to print out the output on screen. So far, you need to see output in memory. After your project can be assembled and run successfully, you may do following things:

Click on the grey bar located on the left of side of the “invoke ExitProcess, 0” statement to set up the Break Point


Go to Debug and click on Start Debugging
Go to Debug - Windows - Memory - Memory 1 (or: ALT + 6). You will see a window on the right side of your code. Type 0x004068D0 in Address field and you will see the following window (next page). If you don’t see the source string, then your computer may store .data section in difference memory location. You may need to search to find it. If you see the source string but the string after it is not a reverse of source string, then your program has logic errors.
After check the result, press F10 to continue and finish the program execution.
Due Date:

You need to turn in YourNameProj4.asm via Blackboard. Due date will be announced on Blackboard.



More products