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.
- 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?
- 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.
- 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
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