CS401 Assignment02 Solution Idea Spring 2013 Due Date: May 13, 2013

No Comments

Computer Architecture and Assembly language programming (CS401)

Assignment # 2

  Total marks = 20
                                                                                    Deadline Date = May 13, 2013

Please carefully read the following instructions before attempting assignment.

Rules for Marking
It should be clear that your assignment would not get any credit if:

  • The assignment is submitted after the due date.
  • The submitted assignment does not open or file is corrupt.
  • Strict action will be taken if submitted solution is copied from any other student or from the internet. Students will be punished severely in either case.


1)      You should concern recommended books to clarify your concepts as handouts are not sufficient.
2)      You are supposed to submit your assignment in .doc format. Any other formats like scan images, PDF, zip, rar, bmp etc will not be accepted.
3)      You are advised to upload your assignment at least two days before the due date.
4)      The assignment file comprises of two pages.


Note: 

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:



                        [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)



Best of luck!
Next PostNewer Post Previous PostOlder Post Home

0 comments

Post a Comment