2

我正在高中(MASM,x86)理论上学习ASM 8086。

.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 该代码中最后一行的含义是什么?它有什么作用?

4

1 回答 1

1

esi在 var 之后指向 4 个字节,即422. ebx是 4。

[ebx][esi]是表示的东西,[ebx+esi]并且[]是指针运算符。

所有这些加在一起将说明[ebx][esi]比那里更远的 4 个字节,422并且显然443可以在那里找到。

于 2012-03-24T20:35:41.423 回答