Step1. The following code copies a string from source to target: .data source BYTE "This is the source string",0 target BYTE SIZEOF source DUP (0) .code L1: mov esi, 0 mov ecx SIZEOF source mov mov target at source[esi] target[si], al inc esi loop L1 Imov edx, OFFSET source call WriteString moved, OFFSET target call WriteString ; index register ; loop counter ; get char from source ; store it in the ; move to next character ; repeat for entire string Rewrite the program using indirect addressing rather than indexed addressing.
Step1. The following code copies a string from source to target: .data source BYTE "This is the source string",0 target BYTE SIZEOF source DUP (0) .code L1: mov esi, 0 mov ecx SIZEOF source mov mov target at source[esi] target[si], al inc esi loop L1 Imov edx, OFFSET source call WriteString moved, OFFSET target call WriteString ; index register ; loop counter ; get char from source ; store it in the ; move to next character ; repeat for entire string Rewrite the program using indirect addressing rather than indexed addressing.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
![**Step 1**: The following code copies a string from source to target:
```assembly
.data
source BYTE "This is the source string",0
target BYTE SIZEOF source DUP(0)
.code
mov esi,0 ; index register
mov ecx,SIZEOF source ; loop counter
L1:
mov al,source[esi] ; get char from source
mov target[esi],al ; store it in the target
inc esi ; move to next character
loop L1 ; repeat for entire string
mov edx, OFFSET source
call WriteString
mov edx, OFFSET target
call WriteString
```
**Explanation**:
- The code initializes a `source` string and a `target` location to store the copied string.
- The `esi` register is used as an index to iterate through each character of the `source`.
- For each iteration, the current character from `source` is stored in the `target`.
- A loop (`L1`) ensures this operation continues until the entire string is copied.
- After copying, a subroutine `WriteString` is called to output both `source` and `target`.
**Task**: Rewrite the program using indirect addressing rather than indexed addressing.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa6698ae8-6c01-4434-828e-21af6fc513df%2F82b27a8e-0e78-439f-b17b-c50e1964fcdf%2F5ob5tit_processed.jpeg&w=3840&q=75)
Transcribed Image Text:**Step 1**: The following code copies a string from source to target:
```assembly
.data
source BYTE "This is the source string",0
target BYTE SIZEOF source DUP(0)
.code
mov esi,0 ; index register
mov ecx,SIZEOF source ; loop counter
L1:
mov al,source[esi] ; get char from source
mov target[esi],al ; store it in the target
inc esi ; move to next character
loop L1 ; repeat for entire string
mov edx, OFFSET source
call WriteString
mov edx, OFFSET target
call WriteString
```
**Explanation**:
- The code initializes a `source` string and a `target` location to store the copied string.
- The `esi` register is used as an index to iterate through each character of the `source`.
- For each iteration, the current character from `source` is stored in the `target`.
- A loop (`L1`) ensures this operation continues until the entire string is copied.
- After copying, a subroutine `WriteString` is called to output both `source` and `target`.
**Task**: Rewrite the program using indirect addressing rather than indexed addressing.
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education