CS401 Computer Architecture and Assembly Language Assignment No.2 Solution 2013


Assignment comprises of lectures No. 9-13.
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.

(15marks)
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

Sponsored Links

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)