x86汇编程序:shl和其他说明

时间:2011-05-15 19:23:34

标签: x86 assembly

我正在尝试理解循环中的一些汇编代码。循环从1到255运行并在循环内执行以下操作:

mov    eax,DWORD PTR [ebp-0x4]
shl    eax,0x2
add    eax,DWORD PTR [ebp+0x8]
mov    DWORD PTR [eax],0x0

此处DWORD PTR [ebp-0x4]指的是从1到255的数字。

有人可以弄清楚这里发生了什么吗?感谢。

1 个答案:

答案 0 :(得分:4)

显然只是将阵列归零:

mov    eax,DWORD PTR [ebp-0x4] ; load index
shl    eax,0x2                 ; multiply index by 4 to get byte offset
add    eax,DWORD PTR [ebp+0x8] ; add byte offset to array base address
mov    DWORD PTR [eax],0x0     ; zero value at array[index]