Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Trcky indirect memory address

Status
Not open for further replies.

dukely

Technical User
Sep 18, 2002
6
0
0
US
Hi fellas,
I have some in the text book "Assembly Language for INtel-based Computer" 4th ed.
Page 127
.data
myDoubles DWORD 1,2,3,4,5
myPointer DWORD myDoubles

So, can anybody know what the following codes will do:
.code
mov ax,WORD PTR [esi+2] ; AX=?
mov ax,WORD PTR [esi+6] ; AX=?
mov ax,WORD PTR [esi-4] ; AX=?

I even try to assembly them in MASM, but it crashed when I debugged it in CodeView.
Thanks pal.
 
No one would know, for the simple reason that no one would know what the value of the esi register is. Show us what esi is initialized to. Read the book, I'm sure it explains what the instructions would do. Quite likely you got some sort of General Protection Fault since esi was by chance larger than 0ffffh and you are in 16-bit programming. "Information has a tendency to be free. Which means someone will always tell you something you don't want to know."
 
Sorry fella, it's my fault
ESI is set to:
mov esi,myPointer

IN other words, esi is now contains the offset of myDoubles.
Thank you.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top