- 論壇徽章:
- 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://72891.cn/forum/v ... ;highlight=kernelxu |
|