文章目录

  • 7-1 循环指令
    • 7-1-1 循环指令
      • 测验
        • 1、IA-32处理器的LOOP指令隐含使用哪个寄存器作为计数器?
        • 2、IA-32处理器的JECXZ指令发生跳转的条件是:
        • 3、IA-32处理器的LOOP指令常用于增量计数的循环控制。
        • 4、IA-32处理器的LOOP指令包含有对ECX寄存器减1的功能。
        • 5、IA-32处理器的LOOP指令先对ECX是否为0进行判断,然后再执行对ECX寄存器减1的操作。
    • 7-1-2 数组求和程序
      • 测试
        • 1、使用LOOP指令控制计数循环,循环次数应赋予的寄存器是:
        • 2、如果程序需要连续访问大型数组中的每个元素,不适宜采用的存储器寻址方式是:
        • 3、数据段有语句“array dword 136,-138,133,130,-161”,则“type array”等于:
        • 4、array指向一个数组,指令“add eax,array[ebx*(type array)]”的源操作数寻址方式是:
        • 5、指令“xor eax,eax”的作用是让寄存器EAX等于0。
    • 7-1-3 循环程序结构
      • 测验
        • 1、汇编语言程序中,只能实现“先循环、后判断”,不能实现“先判断、后循环”结构。
        • 2、“先循环、后判断”的循环程序结构,循环体至少执行一次。
        • 3、“先判断、后循环” 的循环程序结构,循环体可能一次都不执行。
        • 4、C语言的语句“for(i=1; i<=100; i++) sum=sum+i;”对应这里的增量计数控制循环。
        • 5、C语言的语句“for(i=100; i>0; i--) sum=sum+i;”对应这里的减量计数控制循环。
  • 7-2 技术指令
    • 7-2-1计数控制循环
      • 测验
        • 1、有50个数值,使用循环结构逐个比较方法求出最大值,程序的循环次数是:
        • 2、数据段有语句“array dword -3,0,20,900,-56”,则“lengthof array”等于:
        • 3、LOOP指令适合实现减量计数控制循环。
        • 4、采用寄存器间接寻址从头开始访问数组的每个元素,初始通常应将该寄存器赋值为数组首地址。
        • 5、采用寄存器相对寻址从头开始访问数组的每个元素,初始可以将该寄存器赋值为0。
  • 7-3 条件控制指令
    • 7-3-1 条件控制循环
      • 测验
        • 1、对于字符串string,如果使用寄存器相对寻址“string[ebx]”访问其头一个元素,EBX应该赋值为:
        • 2、指令“cmp al,0”执行后,指令“jz done”发生转移时,AL寄存器:
        • 3、条件控制循环通常需要使用条件转移指令进行是否继续循环的判断。
        • 4、通常情况下,“先判断、后循环”的循环程序结构可以修改为“先循环、后判断”的循环程序结构。
        • 5、在汇编语言程序层面,条件控制循环结构与分支结构有相通的地方,循环体可以看做是需要多次执行的分支体。

7-1 循环指令

7-1-1 循环指令



测验

1、IA-32处理器的LOOP指令隐含使用哪个寄存器作为计数器?

ECX

2、IA-32处理器的JECXZ指令发生跳转的条件是:

ECX=0

3、IA-32处理器的LOOP指令常用于增量计数的循环控制。

4、IA-32处理器的LOOP指令包含有对ECX寄存器减1的功能。

5、IA-32处理器的LOOP指令先对ECX是否为0进行判断,然后再执行对ECX寄存器减1的操作。

7-1-2 数组求和程序

寄存器间接寻址


测试

1、使用LOOP指令控制计数循环,循环次数应赋予的寄存器是:

ECX

2、如果程序需要连续访问大型数组中的每个元素,不适宜采用的存储器寻址方式是:

直接寻址

3、数据段有语句“array dword 136,-138,133,130,-161”,则“type array”等于:

4

4、array指向一个数组,指令“add eax,array[ebx*(type array)]”的源操作数寻址方式是:

带比例的寄存器变址寻址

5、指令“xor eax,eax”的作用是让寄存器EAX等于0。

7-1-3 循环程序结构




测验

1、汇编语言程序中,只能实现“先循环、后判断”,不能实现“先判断、后循环”结构。

2、“先循环、后判断”的循环程序结构,循环体至少执行一次。

3、“先判断、后循环” 的循环程序结构,循环体可能一次都不执行。

4、C语言的语句“for(i=1; i<=100; i++) sum=sum+i;”对应这里的增量计数控制循环。

5、C语言的语句“for(i=100; i>0; i–) sum=sum+i;”对应这里的减量计数控制循环。

7-2 技术指令

7-2-1计数控制循环

测验

1、有50个数值,使用循环结构逐个比较方法求出最大值,程序的循环次数是:

49

2、数据段有语句“array dword -3,0,20,900,-56”,则“lengthof array”等于:

5

3、LOOP指令适合实现减量计数控制循环。

4、采用寄存器间接寻址从头开始访问数组的每个元素,初始通常应将该寄存器赋值为数组首地址。

5、采用寄存器相对寻址从头开始访问数组的每个元素,初始可以将该寄存器赋值为0。

7-3 条件控制指令

7-3-1 条件控制循环

测验

1、对于字符串string,如果使用寄存器相对寻址“string[ebx]”访问其头一个元素,EBX应该赋值为:

0

2、指令“cmp al,0”执行后,指令“jz done”发生转移时,AL寄存器:

等于0

3、条件控制循环通常需要使用条件转移指令进行是否继续循环的判断。

4、通常情况下,“先判断、后循环”的循环程序结构可以修改为“先循环、后判断”的循环程序结构。

5、在汇编语言程序层面,条件控制循环结构与分支结构有相通的地方,循环体可以看做是需要多次执行的分支体。

汇编语言第七章循环程序相关推荐

  1. 第七章 循环结构综合练习

    一.本章任务 完成青鸟迷你游戏平台的开发 二.目标 会定义变量 会使用数据类型和运算符 会使用选择结构 会使用循环结构 三.内容 1 上机练习一 需求: 用户进入游戏平台后,可以选择遠的游戏,程序运行 ...

  2. 测试 第七章 循环结构进阶 1205 草稿

    第一题 第二题

  3. 读书笔记:汇编语言 第三版 王爽 清华出版社 章六 章七 章八 章九 章十

    第六章 包含多个段的程序6.0 概述合法地通过操作系统取得的空间都是安全的操作系统不会让多个程序之间发生空间冲突程序向操作系统获得空间的方法程序加载时分配在程序中定义各种段程序运行时分配通过指令向操作 ...

  4. 微信小程序开发教程第七章:微信小程序编辑名片页面开发

    前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...

  5. (计算机组成原理)第七章输入和输出系统-第四节1:I/O方式之程序查询方式

    文章目录 一:程序查询方式 二:相关例题 在(计算机组成原理)第七章输入和输出系统-第一节:I/O系统基本概念和I/O控制方式简介中我们简单介绍了I/O控制方式:I/O系统实现主机与I/O设备之间的数 ...

  6. Python程序设计基础第七章笔记:字符串

    Python程序设计基础笔记 目录 Python程序设计基础笔记 第七章:文本处理(一):字符串 7.1 字符串编码格式简介 7.2 转义字符与原始字符串 7.3 字符串格式化 7.3.1 使用 % ...

  7. 微信小程序(第七章)- 搜索框的实现

    微信小程序(第七章)- 搜索框的实现 搜索框的组成 定义布局容器 微信小程序1个页面所对应的4个文件 具体实现步骤 框架实现 样式实现 搜索框的组成 外部容器i 内部容器 两者关系:外部容器包裹内部容 ...

  8. 第七章:Tensorflow2.0 RNN循环神经网络实现IMDB数据集训练(理论+实践)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/LQ_qing/article/deta ...

  9. java程序设计基础_陈国君版第五版_第七章例题

    java程序设计基础_陈国君版第五版_第七章例题 class Cylinder {private double radius;private int height;private double pi ...

最新文章

  1. CTFshow 爆破 web22
  2. SocketLog安装
  3. 2021廊坊高考口试成绩查询,2021河北八省联考成绩查询入口
  4. Win10 Terminal + WSL 2 安装配置指南,精致开发体验
  5. batchsize和数据量设置比例_Keras - GPU ID 和显存占用设定步骤
  6. Linux Shell高级技巧(五)
  7. python磁盘io_Python多线程同步、互斥锁、死锁
  8. android 快捷方式 未安装该应用程序,android,解决手动创建的桌面快捷方式无法跳转到制定的activity的问题,提示未安装应用程序...
  9. 使用si ob 导出,导入部分表
  10. 我儿子竟跟男孩子抱在一起
  11. mysql tcmalloc jemalloc_tcmalloc jemalloc 和ptmalloc 对比
  12. matlab入门学习(良心版本,适合小白)
  13. 使用EasyNVR无插件实时播放海康摄像机视频
  14. 用户体验测试的心得体会
  15. js实现漂亮的雪花飘落效果
  16. 微信小程序 手机号 邮箱正则表达式验证
  17. 分享一个会遮掩的吊炸天登录页面
  18. 深信服EDR终端检测平台-RCE漏洞复现
  19. echarts 路线图 实例 线路图 及线路图特效
  20. 注意了!浏览色情网站被短信通知检讨?可能是诈骗!

热门文章

  1. Structured Streaming简介
  2. [奔跑吧 Linux内核][学习记录]编译内核-实验1-2-[环境以及参考]
  3. windows远程桌面连接家中电脑
  4. tomcat下的javaBean的配置
  5. 基于.NET6的简单三层管理系统
  6. 一个实例用matlab分别画出拟合和插值,数学建模培训之四--拟合与插值专题(hzd).doc...
  7. 安装Virtualbox出现严重错误
  8. alexa是什么_Alexa的简要模式是什么?如何打开(或关闭)它?
  9. 计算机程序UI设计员SWOT分析,计算机专业学生个人SWOT分析案例.doc
  10. 2018年5月下旬值得一读的10本技术书籍(Python、程序员英语、区块链、算法等书籍)!福利见文末!