Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Assembly Programming Objectives: 1. Declare and initialize null-terminated string 2. Apply indirect address 3. Write loop 4. Apply Irvine.inc library functions to display a string
Assembly Programming
Objectives: 1. Declare and initialize null-terminated string 2. Apply indirect address 3. Write loop 4. 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", o 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. 1. 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 2. 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 3. 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: 1. Click on the grey bar located on the left of side of the "invoke ExitProcess, o" statement to set up the Break Point 51 | invoke ExitProcess, 0 2. Go to Debug and click on Start Debugging 3. Go to Debug -> Windows -> Memory -> Memory 1 (or: ALT + 6). You will see a window on the right side of your code. Type Ox004068D0 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. 4. After check the result, press F10 to continue and finish the program execution. You need to turn in YourNameProj4.asm via Blackboard. Due date will be announced on Blackboard. Memory 1 [ 4 X ih..... Address: 0x004068D0 x468 54 68 69 13 20 69 13 20 14 68 65 20 73 This is the s x4068D 74 72 69 6e 67 20 14 68 61 14 20 77 59 tring that wi x04068A 6c 6c 20 62 65 20 72 65 16 65 12 73 65 ll be reverse 0x04068F7 64 64 65 13 72 65 76 65 72 20 65 62 d. desrever eb x040694 20 6c 6c 69 17 20 14 61 68 14 20 67 6e 1liw taht gn x0406911 69 12 14 13 20 65 68 14 20 73 69 20 73 irts eht si s x40691 69 68 54 x40692 x0426938 bxe0406945 x406952 x4695F x40696 x406979 x46986 0 0 0 0 x0406993 x04069 x04069A x04069 x4069c7 x40694 . 0x040691 x4069 x04069F [x0426A8 _ 0 0 0 0 0 0 Autos Locals Memory 1 Registers Threads Modules Watch 1 Diagnostic Tools Objectives: 1. Declare and initialize null-terminated string 2. Apply indirect address 3. Write loop 4. 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", o 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. 1. 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 2. 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 3. 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: 1. Click on the grey bar located on the left of side of the "invoke ExitProcess, o" statement to set up the Break Point 51 | invoke ExitProcess, 0 2. Go to Debug and click on Start Debugging 3. Go to Debug -> Windows -> Memory -> Memory 1 (or: ALT + 6). You will see a window on the right side of your code. Type Ox004068D0 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. 4. After check the result, press F10 to continue and finish the program execution. You need to turn in YourNameProj4.asm via Blackboard. Due date will be announced on Blackboard. Memory 1 [ 4 X ih..... Address: 0x004068D0 x468 54 68 69 13 20 69 13 20 14 68 65 20 73 This is the s x4068D 74 72 69 6e 67 20 14 68 61 14 20 77 59 tring that wi x04068A 6c 6c 20 62 65 20 72 65 16 65 12 73 65 ll be reverse 0x04068F7 64 64 65 13 72 65 76 65 72 20 65 62 d. desrever eb x040694 20 6c 6c 69 17 20 14 61 68 14 20 67 6e 1liw taht gn x0406911 69 12 14 13 20 65 68 14 20 73 69 20 73 irts eht si s x40691 69 68 54 x40692 x0426938 bxe0406945 x406952 x4695F x40696 x406979 x46986 0 0 0 0 x0406993 x04069 x04069A x04069 x4069c7 x40694 . 0x040691 x4069 x04069F [x0426A8 _ 0 0 0 0 0 0 Autos Locals Memory 1 Registers Threads Modules Watch 1 Diagnostic ToolsStep 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