x86 Assembler: shl and other instructions
我试图理解循环中的一些汇编代码。循环从 1 运行到 255,并在循环内执行以下操作:
1 2 3 4 | mov eax,DWORD PTR [ebp-0x4] shl eax,0x2 add eax,DWORD PTR [ebp+0x8] mov DWORD PTR [eax],0x0 |
这里的
有人能弄清楚这里发生了什么吗?谢谢。
显然只是将数组归零:
1 2 3 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] |