Forums: » Register « |  Free Tools |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support |

New Free Tools on Dev Shed!

#1
October 15th, 2009, 04:04 PM
 emerald09
Registered User

Join Date: Oct 2009
Posts: 1
Time spent in forums: 31 m 22 sec
Reputation Power: 0

What is the effective address generated by each of the following instruction?

Initially BX=0x0100, label=0x0234, [label]=0x0010, and SI=0x00E1

(Offsets in part a, b and f are in decimal)

1. mov ax, [bx+40]
0x0140

2. mov ax, [bx+20]
0x0160

3. mov ax, [bx+label]
0x0394

4. mov ax, [label+bx]
0x0404

5. mov ax, [bx+si]
0x0475

6. mov ax, [si+25]
0x0106

Kindly check my answers, please point out the mistakes and tell me by an example how to do these.

#2
November 9th, 2010, 11:50 AM
 jay387
Registered User

Join Date: Nov 2010
Posts: 1
Time spent in forums: 39 m 37 sec
Reputation Power: 0
Check this assembly program

[org 0x0100]
mov al, [num1]
mov bl, [num1+1]
mov bl, [num1+2]
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]
0000 0000 0100 0005 0000 0103
mov bl,[num1+1]
0005 0000 0103 0005 000A 0107
0005 000A 0107 000F 000A 0109
mov bl,[num1+2]
000F 000A 0109 000F 000F 010D
000F 000F 010D 001E 000F 010F
mov [num1+3],al
001E 000F 010F 001E 000F 0112

You also have to provide the following information

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

 Viewing: Dev Shed Forums > Computer Hardware > Computer Hardware > Effective memory address calculation