do while生成的汇编代码 do while汇编还原成C++代码 一、 do while成生的汇编代码 // int i=0; // do // { // i++; // } while (i<=10); // return 0; //00401003 |. 51 PUSH ECX ; int i; //00401004 |. C745 FC 00000>MOV DWORD PTR SS:[EBP-4],0 ; i=0; //0040100B |> 8B45 FC /MOV EAX,DWORD PTR SS:[EBP-4] ; eax=i; //0040100E |. 83C0 01 |ADD EAX,1 ; eax++ //00401011 |. 8945 FC |MOV DWORD PTR SS:[EBP-4],EAX ; i++; //00401014 |. 837D FC 0A |CMP DWORD PTR SS:[EBP-4],0A ; i<=10 //00401018 |.^ 7E F1 JLE SHORT dowhile.0040100B //int j=10,i=0; //do //{ // i++; // printf("do while "); //} while (i<j);; //printf("for begin "); //for (i=0;i<=j;i++) //{ // printf("do for"); //} 二、 do while汇编还原成C++代码 int a=1; do { a++; } while (a<=10); printf("begin for"); int b=1; for (;b<=10;b++) { } printf("end for");
知识点: while循环分析 while循环与for循环 一、while循环生成的汇编代码 while(条件) { } 二、while循环转换成等价for循环 int i=0; while(i<20) { i++; } printf("for begin"); 与上边的while语句等价 int j=0; for (;j<20;) { j++; }