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
icon
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.
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
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
File Input and Output Operations
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.
Similar questions
Recommended textbooks for you
Database System Concepts
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)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education