2012-03-24 64 views
2

我在高中(MASM,x86)理论上学习ASM 8086。组装指令mov寄存器,[注册] [注册]

.data 
var dd 421,422, 443, 442, 444, 217, 432 

.code 
; some code 
mov esi, (OFFSET var)+4 
mov ebx, 4 
mov edx, [ebx][esi] ; that's the line I don't uderstand 

我跑了程序和EDX == == 000001BBh 443 什么是最后一行在代码的含义后?它有什么作用?

回答

1

esi var后的4个字节,即422ebx是4.

[ebx][esi]是一些东西,表示[ebx+esi][]是指针操作。

所有这些在一起会使[ebx][esi]点还有4个字节比422更远,明显可以在那里找到443