第五章循环与分支程序设计
- 格式:ppt
- 大小:271.00 KB
- 文档页数:30
第5章分支、循环程序设计本章要点: 转移指令的寻址方式及其执行过程,控制转移类指令的使用,分支和循环程序的设计和应用。
程序调试的方法,常见问题的程序设计方法。
一、单项选择题5.1.1条件转移是根据标志寄存器中的标志位来判断的,条件判断的标志位共有( B )位。
A. 4B. 5C. 6D. 95.1.2用一条条件转移指令一次可以实现( A )个分支。
A. 2B. 3C. 4D. N5.1.3 条件转移指令的转移范围是(A)。
A. -128~127B. 0~255C. 0~65535D. -32768~327675.1.4 设A为字变量,B为标号,下列指令中不正确的是(D)。
A. MOV AX,AB. JNZ BC. JMP [SI]D. JMP B[BX]5.1.5 下述指令中影响CF标志位的是(A)。
A. SHL AL,1B. MOV AL,1C. JC LD. JNC L5.1.6 下述指令中不影响CF标志位的是(A)。
A. INC SIB. SUB SI,0C. NEG ALD. TEST AL,15.1.7 在多重循环程序设计中,每次通过外层循环进入内层循环时,其内层循环的初始条件(B)。
A. 不必考虑B. 必须重新设置C. 必须清0D. 必须置15.1.8 当设计一个程序时,最重要的是(B)。
A. 程序的结构化B. 能使程序正常运行并实现功能C. 程序的执行速度快D. 程序占用的存储空间小*5.1.9 如果“JNC L”指令的操作码放在0040H,转移后在0020H处取下一指令的操作码,那么这条指令的位移量是(C)。
A. 1EHB. 20HC. 0DEHD. 0E0H*5.1.10 如果“JGE P”指令的操作码放在0050H,该指令的位移量是34H,执行完这条指令转移取下一条指令的偏移地址是(C)。
A. 82HB. 84HC. 86HD. 88H二、填空题5.2.1 当下面循环程序中的划线处填上一个什么数字时,执行的循环次数最多?MOV CX,____0______MOV AX,0L:INC AXLOOP L5.2.2 当两个数进行比较后,执行__JE L(JZ L)表示两数相等则转移到L。
第5章循环与分支程序设计【课前思考】 1. 编制一个汇编语言程序分哪几步? 2. 循环程序有哪两种基本结构?由几部分组成? 3. 设计算法时对可能出现的边界情况如何考虑? 4. 如何设置逻辑尺? 5. 什么是起泡排序算法? 6. 如何理解数组排序算法中采用的折半查找法? 7. 如何使用跳跃表法实现CASE结构?【学习目标】 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。
掌握起泡排序算法这种多重循环程序设计中的常用方法。
交换标志位的设置在此算法中更能提高效率。
学会在数组排序算法中采用折半查找法来提高查找效率。
学会使用跳跃表法实现CASE结构。
【学习指南】 掌握编程的四个步骤至关重要。
通过多看举例,学会正确分析理解题意、选择合适的数据结构及算法、坚持先画框图、选取有效指令编程、最后应当掌握运用调试手段进行调试。
学习多重循环程序设计前应熟练掌握单层循环程序设计的各种实现方法及实现细节,如对可能出现的边界情况的处理等。
学习起泡排序算法、折半查找法、跳跃表法之前,应首先理解传统实现方法。
【难重点】 循环控制条件的选择。
考虑循环算法时注意可能出现的边界情况。
静态地预置逻辑尺。
动态地修改标志位。
多重循环程序设计时应分别考虑各重循环的控制条件及其程序实现,相互之间不能混淆。
另外,应该注意在每次通过外层循环再次进入内层循环时,初始条件必须重新设置。
起泡排序算法是多重循环程序设计中的一种常用方法。
数组排序算法中可以采用折半查找法来提高查找效率。
CASE结构可以使用跳跃表法实现。
【知识点】 编制一个汇编语言程序的一般步骤 5.1 循环程序设计 5.1.1 循环程序的基本结构 5.1.2 循环程序设计方法举例 循环控制条件 边界情况的处理 逻辑尺 5.1.3 多重循环程序设计举例 起泡排序算法 交换标志位 5.2 分支程序设计 5.2.1 分支程序的基本结构 5.2.2 分支程序设计方法举例——折半查找法 5.2.3 跳跃表法一般说来,编制一个汇编语言程序的步骤如下: 1)分析题意,确定算法。