C和汇编混合编程---do while
生活随笔
收集整理的這篇文章主要介紹了
C和汇编混合编程---do while
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境:VC++
do while 會先執行do里面的循環體,執行完去執行while的條件判斷,如果為真,繼續執行do里面的循環體,如果為假,則結束循環
C程序:
上面先執行sum+=i;i++;,接著執行i<=100,如果為true,則繼續執行do循環,否則,結束循環。
反匯編:
- jle:小于等于,則跳轉
從上面的程序我們可以看出,sum+=i就是
00401036 8B 45 F8 mov eax,dword ptr [ebp-8] 00401039 03 45 FC add eax,dword ptr [ebp-4] 0040103C 89 45 F8 mov dword ptr [ebp-8],eaxi++就是:
0040103F 8B 4D FC mov ecx,dword ptr [ebp-4] 00401042 83 C1 01 add ecx,1 00401045 89 4D FC mov dword ptr [ebp-4],ecx匯編執行完這幾條語句,就去執行
00401048 83 7D FC 64 cmp dword ptr [ebp-4],64h 0040104C 7E E8 jle main+26h (00401036)比較[ebp-4]和100的大小,如果小于等于就跳轉到00401036執行,否則往下執行,相當于C中i<=100,如果小于等于,繼續執行循環體,否則結束
C和混編混合編程:
總結
以上是生活随笔為你收集整理的C和汇编混合编程---do while的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 固原治疗男性不育最好的医院推荐
- 下一篇: 摩尔庄园怎么在头顶聊天