- 论坛徽章:
- 0
|
大家看我的这几行c代码,分析一下我的输出结果?谢谢了。
察看其反汇编代码:
- 5: a=10;
- 00401028 mov dword ptr [ebp-4],0Ah
- 6: b=100;
- 0040102F mov dword ptr [ebp-8],64h
- 7: c1=a---b;
- 00401036 mov eax,dword ptr [ebp-4]
- 00401039 sub eax,dword ptr [ebp-8] /*做减法*/
- 0040103C mov dword ptr [ebp-0Ch],eax
- 0040103F mov ecx,dword ptr [ebp-4]
- 00401042 sub ecx,1 /*a自减1*/
- 00401045 mov dword ptr [ebp-4],ecx
- 8: c2=a -- - b; /*同上*/
- 00401048 mov edx,dword ptr [ebp-4]
- 0040104B sub edx,dword ptr [ebp-8]
- 0040104E mov dword ptr [ebp-10h],edx
- 00401051 mov eax,dword ptr [ebp-4]
- 00401054 sub eax,1
- 00401057 mov dword ptr [ebp-4],eax
- 9: c3=a - -- b;
- 0040105A mov ecx,dword ptr [ebp-8]
- 0040105D sub ecx,1 /*首先b自减1*/
- 00401060 mov dword ptr [ebp-8],ecx
- 00401063 mov edx,dword ptr [ebp-4]
- 00401066 sub edx,dword ptr [ebp-8] /*做减法*/
- 00401069 mov dword ptr [ebp-14h],edx
- 10: c4=a-- - b; /*同7*/
- 0040106C mov eax,dword ptr [ebp-4]
- 0040106F sub eax,dword ptr [ebp-8]
- 00401072 mov dword ptr [ebp-18h],eax
- 00401075 mov ecx,dword ptr [ebp-4]
- 00401078 sub ecx,1
- 0040107B mov dword ptr [ebp-4],ecx
- 11: printf("\n***************************************");
复制代码
看此贴:
http://bbs.chinaunix.net/forum/v ... ;highlight=kernelxu |
|