No assignment will be accepted after the due date via email in any case (whether it is the case of load shedding or internet malfunctioning etc.). Hence refrain from uploading assignment in the last hour of deadline. It is recommended to upload solution file at least two days before its deadline.
For any query, feel free to email at: cs401@vu.edu.pk
[ORG 0100H]
MOV AX, 5
MOV CX, AX
XOR DX, DX
DEC CX
CONT: MOV BX, CX
MUL BX
DEC CX
JNZ CONT
MOV DX, AX
MOV AX, 0X4C00
INT 0X21
Assemble above assembly language code using NASM and answer the following questions:
Q.1. Execute the code in order to examine how changes are made in registers and memory. Students are required to fill in below table after step by step execution of each instruction in the debugger.
(15 marks)
S No.
|
INSTRUCTION
|
REGISTER VALUES
|
INSTRUCTION POINTER (IP)
|
FLAG/STATUS REGISTER
|
||||||
CF
|
ZF
|
PF
|
SF
|
AF
|
||||||
1
|
[ORG 0100H] | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
2
|
MOV AX,5 | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
3
|
MOV CX,AX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
4
|
XOR DX,DX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
5
|
DEC CX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
6
|
CONT: | MOV BX,CX | AX | |||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
7
|
MUL BX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
8
|
DEC CX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
9
|
JNZ CONT | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
10
|
CONT: | MOV BX,CX | AX | |||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
11
|
MUL BX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
12
|
DEC CX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
13
|
JNZ CONT | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
14
|
CONT: | MOV BX,CX | AX | |||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
15
|
MUL BX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
16
|
DEC CX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
17
|
JNZ CONT | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
18
|
CONT: | MOV BX,CX | AX | |||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
19
|
MUL BX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
20
|
DEC CX | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
21
|
JNZ CONT | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
22
|
MOV DX,AX
|
AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX | ||||||||||
26
|
MOV AX,0X4C00 | AX | ||||||||
BX | ||||||||||
CX | ||||||||||
DX |
Q.2. Provide the snapshot of debugger showing calculated result stored in DX at the end of our program. (3 marks)
Q.3. Briefly explain the purpose of the given code.
(2 marks)