我一直在挖掘,发现一堆代码总是重复指令,我的朋友建议它是文本计算,他说delphi参数使用eax、edx和ecx。我想根据以下代码中的用途知道什么是适用组件数组?
有人可以告诉我这段代码发生了什么,它真的是文本计算吗?
为什么 005A6D9D push dword ptr [ebx+esi*4+0C] 将 00000018 放在堆栈上而不是 00000011?
这是代码的一部分
005A6D66 mov ebx,dword ptr [ebx+esi*4+1DC]
005A6D6D push ebx
005A6D6E imul ebx,edx,2E2B
005A6D74 imul edi,eax,91B7C
005A6D7A lea edi,[edi*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents
005A6D81 push dword ptr [edi+ebx*4+4]
005A6D85 imul ebx,edx,2E2B
005A6D8B imul edi,eax,91B7C
005A6D91 lea edi,[edi*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents
005A6D98 lea ebx,[edi+ebx*4]
005A6D9B push ebx
005A6D9C pop ebx
005A6D9D push dword ptr [ebx+esi*4+0C]
005A6DA1 imul edx,edx,2E2B
005A6DA7 imul eax,eax,91B7C
005A6DAD lea eax,[eax*8+5FD208]; gvar_005FD208:array[101] of TApplicableComponents
005A6DB4 lea eax,[eax+edx*4]
005A6DB7 mov ecx,dword ptr [eax+esi*4+10]
005A6DBB pop edx
005A6DBC pop eax
005A6DBD call 005A3FA8
提前致谢