VC6.0循环语句

--- E:/program/test/main.cpp  ----------------------------------------------------------------------------------------------------------------------------

1:    #include <iostream>

2:    using namespace std;

3:

4:

5:    int main()

6:    {

00401030   push        ebp

00401031   mov         ebp,esp

00401033   sub         esp,48h

00401036   push        ebx

00401037   push        esi

00401038   push        edi

00401039   lea         edi,[ebp-48h]

0040103C   mov         ecx,12h

00401041   mov         eax,0CCCCCCCCh

00401046   rep stos    dword ptr [edi]

7:

8:

9:        int a=10;

00401048   mov         dword ptr [ebp-4],0Ah

10:       do

11:       {

12:           a=a-1;

0040104F   mov         eax,dword ptr [ebp-4]

00401052   sub         eax,1

00401055   mov         dword ptr [ebp-4],eax

13:

14:       }

15:       while(a);

00401058   cmp         dword ptr [ebp-4],0

0040105C   jne         main+1Fh (0040104f)//注意 do..while() 是往上跳,结构最简单

16:

17:

18:        a=10;

0040105E   mov         dword ptr [ebp-4],0Ah

19:        while(a)

00401065   cmp         dword ptr [ebp-4],0  //按程序流图,易理解

00401069   je          main+46h (00401076)

20:        {

21:            a=a-1;

0040106B   mov         ecx,dword ptr [ebp-4]

0040106E   sub         ecx,1

00401071   mov         dword ptr [ebp-4],ecx

22:

23:        }

00401074   jmp         main+35h (00401065)

24:

25:

26:        int b=0;

00401076   mov         dword ptr [ebp-8],0

27:        for(a=10;a>0;a--)

0040107D   mov         dword ptr [ebp-4],0Ah //记住for(; ;)里面的内容是被编译在一起

00401084   jmp         main+5Fh (0040108f)

00401086   mov         edx,dword ptr [ebp-4]

00401089   sub         edx,1

0040108C   mov         dword ptr [ebp-4],edx

0040108F   cmp         dword ptr [ebp-4],0

00401093   jle         main+70h (004010a0)

28:        {

29:            b=b+1;

00401095   mov         eax,dword ptr [ebp-8]

00401098   add         eax,1

0040109B   mov         dword ptr [ebp-8],eax

30:

31:        }

0040109E   jmp         main+56h (00401086)

32:

33:

34:       return 0;

004010A0   xor         eax,eax

35:   }

004010A2   pop         edi

004010A3   pop         esi

004010A4   pop         ebx

004010A5   mov         esp,ebp

004010A7   pop         ebp

004010A8   ret

--- No source file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值