- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择和循环精要.ppt
* 第2次测试结果 再次对程序进行跟踪,输入X=3,程序流程为:……,13(√),14(√),15(√),18(×)。X=3,应归属于|X|≤3一类,进入18行(GREAT)是错误的。 将第15行改为“JG GREAT”,对源程序重新汇编连接。 序号 输入 预定输出 实际输出 测试结果 1 4 6 6 正确 2 3 4 6 错误 3 -2 -11 6 错误 4 -3 -14 6 错误 5 -4 6 6 正确 * 第3次测试结果 输入X=3,程序流程为:……,13(√),14(√),15(√),16(√),17(√),18(×)。X=3,X≯3,进入16,17行是正确的,但X=3-3,进入18行是错误的。 将第17行改为“JGE LESSEQU”,对源程序重新汇编连接。 序号 输入 预定输出 实际输出 测试结果 1 4 6 6 正确 2 3 4 6 错误 3 -2 -11 -11 正确 4 -3 -14 -14 正确 5 -4 6 6 正确 * 第4次测试结果 至此,对选定的测试数据运行正确。可以初步认为,程序基本能够完成预定的功能。 但是,任何测试方案都难以覆盖所有的输入可能,测试方案也有优劣之分。所以,通过了测试,不等于程序已经完全正确。 可以发现,上述错误大多数都可以通过“静态调试”来纠正。 序号 输入 预定输出 实际输出值 测试结果 1 4 6 6 正确 2 3 4 4 正确 3 -2 -11 -11 正确 4 -3 -14 -14 正确 5 -4 6 6 正确 * 小 结 无条件转移指令 JMP 目的地址 比较与测试指令 CMP、TEST、BT 条件转移指令 JCC 目的地址 循环指令 LOOP、LOOPE/LOOPZ、LOOPNE/LOOPNZ * 小 结 分支程序 双分支、单分支、多分支 (条件转移指令、地址表) 循环程序 基本循环、多重循环 计数循环、条件循环 * 习 题 4.7 测试名为X的一个字节,如果X的第1,3位均为1,转移到L1,如果只有一位为1,转移到L2,如果两位全为0,转移到L3,写出对应的指令序列。 习 题 4.10 编写指令序列,比较AX、BX中数的绝对值,绝对值较大的数存入AX,绝对值较小的数存入BX。 * * 习 题 4.12 计算以下分段函数,X的值从键盘输入,Y的值送显示器输出。 Y= X-3 X-2 5X+6 -2≤X ≤3 2 X3 * 习 题 4.18 STRING是一个16个字符组成的字符串,RULE是一个字整数。编写程序,测试STRING中的每一个字符,如果该字符为数字字符,把RULE中对应位置1,否则置0。 * 习 题 4.21 编写程序,把一个30个元素的有符号字数组ARRAY,按照各元素的正负分别送入数组P和数组M,正数和零送P数组,负数送M数组。 * 习 题 4.22 缓冲区BUFFER中存放有字符串,以0为结束标志。编写程序,把字符串中大写字母转换为小写字母。 * 习 题 4.26 编写程序,按学号(1~40)输入一个班的汇编语言考试成绩,统计每个学生成绩在班内的排名,按学号顺序输出这个排名。 * * 一个有符号字数组LIST以0为结束标志,求最小值。 LEA SI,LIST MOV AX,[SI] NEXT1: CMP WORD PTR [SI],0 CMP AX,[SI+2] MOV AX,[SI+2] NEXT: ADD SI,2 JMP NEXT1 EXIT:… JLE NEXT JE EXIT * 4.3.4 多重循环 如果一个循环的循环体内包含了另一个循环,称这个循环为“多重循环”,各层循环可以是计数循环或者条件循环。 * [例4-16] 打印20H~7FH之间的ASCII字符表。 ! “ # $ % ‘ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; = ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h I j k l m n o p q r s t u v w x y z { | } ~ € * 打印格式: 每行16个字符,共6行
文档评论(0)