Vous êtes sur la page 1sur 3

Computer Architecture and Total marks = 20

Assembly Language
Programming (CS401) Due Date:

November 14, 2019


Assignment # 01
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.
You should concern the recommended books to clarify your concepts as handouts are not sufficient.

You are supposed to submit your assignment in .doc or docx format.

Any other formats like scan images, PDF, zip, rar, ppt and bmp etc. will not be accepted.

Topic Covered:

 Basic DOSBox and NASM understanding to run assembly code


 Various Addressing modes to access memory

NOTE

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 closing date.

If you people find any mistake or confusion in assignment (Question statement), please consult with
your instructor before the deadline. After the deadline no queries will be entertained in this regard.

For any query, feel free to email at cs401@vu.edu.pk


Problem Statement:

Save your complete VUID in memory using Base Register Indirect + Offset addressing mode (if
last digit of your VUID is Odd) or Indexed Register Indirect + Offset addressing mode (if last digit
of your VUID is even).

Detailed Instructions:

This assignment will give hands on experience of how to run assembly language code using
DOSBox and NASM. First, you have to define labels for storing your VUID and then store each
alphabet/digit of VUID, step by step, in to any general purpose registers. Finally, store the
alphabet/digit from general purpose register to respective memory location (which you have
defined by label in above step).

Addressing Modes to use:

In order to access VUID and storing it in memory, you have to use ONE of the following
addressing modes:

 Base Register Indirect + Offset (only if last digit of your VUID is Odd)
 Indexed Register Indirect + Offset (only if last digit of your VUID is Even)

NOTE: Zero marks will be awarded, if you do not follow proper addressing mode.

What to Submit:

After writing your code, open DOSBox and run NASM (as described in video tutorial shared in
Announcement page of this course). Assemble the code using nasm command and take
screenshot. After that, open the COM file in debugger (AFD).

Run your code by pressing F1 key until last statement of code is reached. At this stage, Data
Window # 2 of AFD should display your complete VUID (at consecutive locations; see below
example). Also take screenshot of AFD.

Your assignment must be submitted as a SINGLE WORD document (DOC or DOCX) with:

1) Code written in Word


2) Screenshot of compilation step (DOSBox)
3) Screenshot of AFD

NOTE: When you take screenshot of compilation step and AFD, take screenshot of whole
screen, not of DOSBox and AFD. Cropping or any tempering with screenshot will result in ZERO
marks.
Example:

Suppose a student VUID is BC123456789. The last digit of this VUID is 9 which is an Odd
number. So, this student will use Base Register Indirect + Offset addressing mode to solve this
assignment.

Sample screenshot of final output:

Note that Data Window # 2 is showing student VUID:

Helping Material:

 Detailed video tutorial of how to use DOSBox and NASM is already shared with you in
Announcement page of this course
 Command to manipulate Data Windows of AFD is mentioned in AFD tutorial (link is
given in the same Announcement)
 Use ASCII table for first two alphabets of your VUID

Vous aimerez peut-être aussi