实验二数据统计01

上传人:206****923 文档编号:88635508 上传时间:2019-05-06 格式:PDF 页数:6 大小:871.47KB
返回 下载 相关 举报
实验二数据统计01_第1页
第1页 / 共6页
实验二数据统计01_第2页
第2页 / 共6页
实验二数据统计01_第3页
第3页 / 共6页
实验二数据统计01_第4页
第4页 / 共6页
实验二数据统计01_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验二数据统计01》由会员分享,可在线阅读,更多相关《实验二数据统计01(6页珍藏版)》请在金锄头文库上搜索。

1、123456 电工电子实验中心电工电子实验中心 实验报告实验报告 课程名称: 计算机硬件技术基础实验 实验名称: 实验二 数据统计 姓名: 学号: 评定成绩: 审阅教师: 实验时间: 123456 123456 一、一、 实验目的要求实验目的要求 1. 熟悉汇编语言程序的框架结构,掌握循环程序的设计方法; 2. 熟悉常用的条件跳转指令; 3. 熟悉有符号数的运算。 二、二、 实验任务实验任务 本实验要求通过求某数据区域内负数的个数来表现循环程序的结构形式。 要求实验程序 在数据段中存放一组数据,分类统计数据中正数、负数和零的个数,并分别存入内存变量 Positive、Negative 和 Ze

2、ro 中。将所有数据累加求和,存入 SUM 中。 三、三、 实验代码实验代码 DATA SEGMENT NUM DB 12H,88H,82H,89H,33H,90H,0H,10H,0BDH,01H ; 18, -120, -126, -119, 51, -112, 0, 16, -67, 1 ; 求和结果-458 L_NUM EQU $-NUM POSITIVE DB DUP(0) NEGATIVE DB DUP(0) ZERO DB DUP(0) SUM DW DUP(0) DATA ENDS STACK1 SEGMENT STACK DB 100 DUP(0) STACK1 ENDS CO

3、DE SEGMENT ASSUME CS:CODE, DS:DATA, SS:STACK1 START PROC FAR PUSH DS MOV AX, 0 PUSH AX MOV AX, DATA MOV DS, AX ;冒泡排序插入位置 ;以下为补充代码 MOV SI, OFFSET NUM ;取 NUM 的地址给 SI MOV CL, L_NUM ;CL 中存储数据段中原始数据的个数 MOV CH, 0 NEXT: 123456 MOV AL, 0 CMP SI, AL ; 将 SI 中所存储的 16 位数值所对应的地址中的数 ;与 0 比较 JG P ;若前者大于后者(即大于 0),跳

4、转到 P 执行 JL N ;若前者小于后者(即小于 0),跳转到 N 执行 INC ZERO ;若没有跳转到 P 或 N,则该数值为 0,ZERO 加 1 JMP CONTINUE ;跳转到 CONTINUE 执行 P: INC POSITIVE ;POSITIVE 中的值加 1 JMP CONTINUE ;跳转到 CONTINUE 执行 N: INC NEGATIVE ;NEGATIVE 中的值加 1 CONTINUE: MOV AL, SI CBW ;AL的内容扩展到 AH 形成 AX 中的字 ;即扩展成 16 位数字再进行累加 ADD AX, SUM ;ADD 的目的操作数只能是累加器

5、MOV SUM, AX INC SI ;SI 中的值加 1 LOOP NEXT ;CX 的值减一,若不为 0,跳转 ;以上为补充代码 RET START ENDP CODE ENDS END START 四、四、 探究内容探究内容 1) 若需要将程序得到的结果显示在屏幕上,如何处理? 答:答:调用中断完成输出(以下程序可加在 LOOP NEXT 语句之后,输出 positive、negative、 zero 的值【sum 的值不知道咋输出 QAQ】): MOV SI, OFFSET POSITIVE MOV CL,03H MOV CH, 0 PRINT: MOV AL,SI CMP AL,9

6、JLE L0 ADD AL,7 L0: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV DL,10H MOV AH,02H 123456 INT 21H INC SI LOOP PRINT 2) 利用某种排序算法,对原始数据进行排序。 答:答:冒泡排序算法插入到“冒泡排序算法插入位置”: SORT: ;开始排序 MOV CX,L_NUM DEC CX L1: PUSH CX LEA BX,NUM L2: MOV AL,BX CMP AL,BX + 1 JB NEXT XCHG AL,BX + 1 MOV BX,AL NEXT: INC BX LOOP L

7、2 ;内循环 POP CX LOOP L1 ;外循环 五、五、 实验的运行数据及分析实验的运行数据及分析 1. 实验数据记录 图 1 emu8086 软件运行界面截图 1 123456 图 2 emu8086 软件运行界面截图 2 图 3 emu8086 运行结果截图 图 4 运行结果数据整理表格 2. 数据分析: 0009 开始的数据段地址中按次序分别存放的是 Positive 的值(正数个数的统计值), Negative 的值(负数个数的统计值),Zero 的值(数值为 0 的个数的统计值),SUM 的值(所有无符号数的和,即不区分正负,仅仅二进制相加)。实际运行结果与理论分 析相同。 六

8、、六、 实验讨论及心得体会实验讨论及心得体会 通过本次实验,我更加熟练了 emu8086 软件的使用。通过补充代码的练习,我也更加 清楚了条件转移指令的使用方式和使用条件。JA、JB、JG、JL 等条件转移指令(部分所列指 DS:00001288828933900010 DS:0008BD0104050136FE00 123456 令实验中未用到)虽然在课堂上有所接触,但没有实际的练习使用,很容易就会遗忘。学习 之初,我经常对 JZ 的判断条件产生困惑:到底是当零标志位等于 1 还是等于零的时候进行 跳转呢?经过书面作业的练习和思考,我对 JZ 语句的理解是:JUDGE ZERO,而当零标志位 等于 1 的时候表示对应存储单元内的数值等于 0。实验是比作业更有用的巩固知识的过程, 在不断的错误和改正中, 达到自己想要的效果, 那种最后目标达成的欣然和喜悦更有助于自 己对于知识的记忆。 我会好好把握住每次动手实验的机会, 努力巩固硬件课堂上所学到的知 识。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号