`
yiyeqinghuasoon
  • 浏览: 645392 次
文章分类
社区版块
存档分类
最新评论

菜鸟学反汇编8—do_while

 
阅读更多

#include<iostream>

#include<iostream>

using namespace std;

using namespace std;

int main()

int main()

{

{

int i=0;

int i=0;

while(i!=10)

do

{

{

i++;

i++;

}

}while(i!=10);

return 0;

return 0;

}

}

var_4= dword ptr -4

var_4= dword ptr -4

argc= dword ptr 8

argc= dword ptr 8

argv= dword ptr 0Ch

argv= dword ptr 0Ch

envp= dword ptr 10h

envp= dword ptr 10h

push ebp

push ebp

mov ebp, esp

mov ebp, esp

push ecx

push ecx

mov [ebp+var_4], 0

mov [ebp+var_4], 0

loc_40100B:

loc_40100B:

cmp [ebp+var_4], 0Ah

mov eax, [ebp+var_4]

je short loc_40101C

add eax, 1

mov eax, [ebp+var_4]

mov [ebp+var_4], eax

add eax,1

cmp [ebp+var_4], 0Ah

mov [ebp+var_4]

jnz short loc_40100B

jmp short loc_40100B

loc_40101C:

xor eax, eax

xor eax, eax

mov esp, ebp

mov esp, ebp

pop ebp

pop ebp

retn

retn

反思:

可见do_while的汇编代码比while要精简

下步:

switch

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics