Due Date
Your assignment must be uploaded before or on 8th Nov 2010.
Upload Instructions
Please view the document related to assignment submission process provided to you by the Virtual University to upload the assignment.
Rules for Marking
Kindly note that your assignment will NOT be graded if:
§ It is submitted after due date
§ The file you uploaded does not open
§ The file you uploaded is copied from someone else
§ It is in the format other than .doc
Objective
This assignment has been designed to enable you:
§ To understand how effective address is calculated
§ To understand how physical memory address is calculated
§ To understand Register
§ To understand the use of debugger and how to read value from Debugger


Assignment

Question_1: [marks: 5]
What is the effective address generated by each of the following instruction?
Initially AX= 0x0FED, BX=0x0400, label=0x04201, and SI=0x00E1
(Offsets in part a, b and f are in decimal)




  1. mov ax, [bx+65]
  2. mov bx, [ax+35]



  1. mov ax, [bx+label]
  2. mov bx, [label+ax]



  1. mov bx, [ax+si]




Question_2: [marks: 5]
Calculate the physical memory address generated by the following segmentffset pairs (both are hexadecimal values).



  1. 0000:FFFF
  2. 0100:0100



  1. DEF8:2222
  2. 543F:3254



  1. FFFF:AAAA




Question_3:
Write the given program, assemble it and then analyze it in Debugger [marks: 10]

[org 0x0100]
mov al, [num1]
mov bl, [num1+1]
mov bl, [num1+2]
add al, bl
mov ax, 0x4c00
int 0x21


num1: db 5, 10, 15, 0


After analysis you have to provide all information that is asked under:

al,bl and IP Register

You have to fill the table given below and write the values of al,bl and IP registers before and after execution of an instruction as you analyze in debugger. You also have to give reason that why the value of al,bl and IP registers change after a particular instruction. Give reason in corresponding column.

Instruction
Before Execution
After Execution(with Reasons)
Value of al
Value of bl
Value of IP
Value of al
Value of bl
Value of IP
mov al,[num1]







mov bl,[num1+1]

Sponsored Links








add al,bl







mov bl,[num1+2]







add al,bl







mov [num1+3],al













You also have to provide the following information

Address of num1=?
Address of num1+1=?
Address of num1+2=?
Address of num1+3=?
Value of num1+3(at end of program) =?