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 \n");
//} while (i<j);; //printf("for begin\n");
//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++;
}

汇编 do while循环的更多相关文章

  1. solidity 学习笔记(7)内联汇编

    为什么要有内联汇编? //普通循环和内敛汇编循环比较 pragma solidity ^0.4.25; contract Assembly{ function nativeLoop() public ...

  2. (四)羽夏看C语言——循环与跳转

    写在前面   由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...

  3. .NET CLR 运行原理

    原文: Drill Into .NET Framework Internals to See How the CLR Creates Runtime Objects 文章讨论了: SystemDoma ...

  4. ok6410内存初始化

    •DRAM:它的基本原件是小电容,电容可以在两个极板上保留电荷,但是需要定期的充电(刷新),否则数据会丢失.缺点:由于要定期刷新存储介质,存取速度较慢. •SRAM:它是一种具有静止存取功能的内存,不 ...

  5. Win32K里的死循环

    引用注明>> [作者:张佩][原文:www.YiiYee.cn/blog] 这是我到新公司后上手的第一个issue.一线project师找到我,说有一个urgent issue有没有兴趣看 ...

  6. 课下测试补交(ch03 ch08)

    课下测试补交(ch03 ch08) 课下测试 ch03 1.有关gdb调试汇编,下面说法正确的是(ABCE) A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 ...

  7. # 第五周课下测试(ch03)补交

    第五周课下测试(ch03)补交 1.( 多选题 | 1 分) 有关gdb调试汇编,下面说法正确的是() A . 可以用disas反汇编当前函数 B . 以16进制形式打印%rax中内容的命令是 pri ...

  8. visual_c++外挂教程(详细)

    课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇内容:编写一个完整的,简单的外挂 C++的数据类型:Byte,Word,DWORD,int,float API函数的调mouse_event,G ...

  9. 控制语句(if-else+循环+switch)汇编规则

    [1]说说条件码 最常用的的条件码有: CF:进位标志 (无符号溢出) ZF:零标志 SF:符号标志(结果为负数) OF:溢出标志 (补码溢出, 有符号溢出) [2]有两类指令设置条件码而不改变任何其 ...

随机推荐

  1. 与ServletContext相关的监听器

    概述 与ServletContext相关的监听器有ServletContextListener与ServletContextAttributeListener. ServletContextListe ...

  2. 解释JS变量作用域的范例

    JS的变量作用域只有两种:全局作用域与函数作用域. 用var声明的变量不能简单的说是属于函数作用域,应该是说属于其最近的作用域. var a = 10; function test(){ var a; ...

  3. 如何将同一云服务下的虚拟机从经典部署模型迁移到 Azure Resource Manager

    适用场景 用户希望将特定云服务下的所有虚拟机从经典部署模型(以下简称:ASM)迁移到 Azure Resource Manager(以下简称:ARM). Note 如果云服务下使用 VNET 也希望将 ...

  4. NodeJS中MySql的增删改查操作

    纯粹记录一下最基础写法,几乎没有写什么逻辑,写法也并不是很完善(因为我自己也刚刚摸索出来这么写可以...= =!)    望高手指教   也希望能够帮到比我还新的新手.... //1.insert操作 ...

  5. ZooKeeper 数据结构 & 命令

    0. 说明 记录 ZooKeeper 数据结构 & 命令 1. ZooKeeper  数据结构 ZooKeeper 特性: ZooKeeper 文件系统以 / 为根目录,文件系统为树形结构,每 ...

  6. Nginx 配置支持 WebSocket

    找到nginx的配置文件:nginx.conf,增加以下三行配置. 示例: server { listen 80; server_name www.test.com; location / { pro ...

  7. Linux清除用户登录记录和命令历史方法(个人笔记)

    清除登陆系统成功的记录 [root@localhost root]# echo > /var/log/wtmp //此文件默认打开时乱码,可查到ip等信息 [root@localhost roo ...

  8. 利用Chrome浏览器的开发者工具截取整个页面

    ①打开Chrome浏览器的开发者工具: 快捷键: command + Alt + I (Mac). Ctrl + shift + I (Windows) 或者: 鼠标右键 -> 弹出菜单中选择 ...

  9. linux 的常用命令---------第六阶段

    磁盘管理 IDE 硬盘 (了解)硬盘接口 :   SATA 硬盘 SCSI 硬盘 SAS 硬盘 分区付的认识:(笔试题) MBR :硬盘主引导记录,共512字节,由三部分组成 主引导程序 :占446个 ...

  10. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-2-相应配置

    1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(dock ...