|
发表于 2021-3-6 02:23:30
|
显示全部楼层
这里我们直接来分析汇编
- 00B21786 mov eax,dword ptr [i]
- 00B21789 add eax,dword ptr [i]
- 00B2178C add eax,dword ptr [i]
- 00B2178F mov dword ptr [p],eax
- 00B21792 mov ecx,dword ptr [i]
- 00B21795 add ecx,1
- 00B21798 mov dword ptr [i],ecx
- 00B2179B mov edx,dword ptr [i]
- 00B2179E add edx,1
- 00B217A1 mov dword ptr [i],edx
- 00B217A4 mov eax,dword ptr [i]
- 00B217A7 add eax,1
- 00B217AA mov dword ptr [i],eax
复制代码
可以看到 对于p的操作,为前三行,是5+5+5 = 15,而后面的自加操作只影响i
对于q
- 00B217AD mov eax,dword ptr [j]
- 00B217B0 add eax,1
- 00B217B3 mov dword ptr [j],eax
- 00B217B6 mov ecx,dword ptr [j]
- 00B217B9 add ecx,1
- 00B217BC mov dword ptr [j],ecx
- 00B217BF mov edx,dword ptr [j]
- 00B217C2 add edx,1
- 00B217C5 mov dword ptr [j],edx
- 00B217C8 mov eax,dword ptr [j]
- 00B217CB add eax,dword ptr [j]
- 00B217CE add eax,dword ptr [j]
- 00B217D1 mov dword ptr [q],eax
复制代码
是先将j加三次后,再加给q也就是8+8+8 = 24
以上皆为vs2019测试
建议遇到这种不会的推荐直接看反汇编分析过程
|
|