Question: The following is an assembly program. CODE SEGMENT START: MOV AX, DATA MOV DS, AX MOV CX, 3 MOV SI, OFFSET ARRAY ITER: MOV AX,

The following is an assembly program.

CODE SEGMENT

START: MOV AX, DATA

MOV DS, AX

MOV CX, 3

MOV SI, OFFSET ARRAY

ITER: MOV AX, [SI]

XCHG AH, AL

ROL AX, 1

INC SI

AND [SI], AX

LOOP ITER

ENDS

DATA SEGMENT

DB 6 DUP (0)

ARRAY DB 0B9H,8BH,01H,70H,02H,06H,34H,0CH

ENDS

END START

Enter the above program in emu8086, obtain the list file and single step the program, to complete tasks and answer questions below.

  1. Fill in the blanks in the following table after each instruction is executed for the first run of the ITER loop:

Run 1

AX

CX

SI

8-bit data in DS:SI

8-bit data in DS:SI+1

MOV AX, [SI]

XCHG AH, AL

ROL AX, 1

INC SI

AND [SI], AX

LOOP ITER

The data of the 8 memory locations starting from ARRAY at the end of Run 1:

What is the function of ROL? Use the numbers in ROL AX,1 to explain.

What is the function of AND?

  1. Fill in the blanks in the following table after each instruction is executed for the second run of the ITER loop:

Run 2

AX

CX

SI

8-bit data in DS:SI

8-bit data in DS:SI+1

MOV AX, [SI]

XCHG AH, AL

ROL AX, 1

INC SI

AND [SI], AX

LOOP ITER

The data of the 8 memory locations starting from ARRAY at the end of Run 2:

What are the final values of them after the execution of the program? Explanation and screenshot are required.

  1. If the data transferred into CX is 6, how many times will the LOOP instruction execute?

Write an equivalent instruction to MOV AX,DATA using array.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!