实验二数据统计01.pdf

实验二数据统计01.pdf

ID:56714681

大小:867.13 KB

页数:6页

时间:2020-07-06

实验二数据统计01.pdf_第1页
实验二数据统计01.pdf_第2页
实验二数据统计01.pdf_第3页
实验二数据统计01.pdf_第4页
实验二数据统计01.pdf_第5页
资源描述:

《实验二数据统计01.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、M中。三、实验代码DATASEGMENTNUMDB12H,88H,82H,89H,33H,90H,0H,10H,0BDH,01H;18,-120,-126,-119,51,-112,0,16,-67,1;求和结果-458L_NUMEQU$-NUMPOSITIVEDBDUP(0)NEGATIVEDBDUP(0)ZERODBDUP(0)SUMDWDUP(0)DATAENDSSTACK1SEGMENTSTACKDB100DUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:S

3、TACK1STARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AX;冒泡排序插入位置;以下为补充代码MOVSI,OFFSETNUM;取NUM的地址给SIMOVCL,L_NUM;CL中存储数据段中原始数据的个数MOVCH,0NEXT:123456MOVAL,0CMP[SI],AL;将SI中所存储的16位数值所对应的地址中的数;与0比较JGP;若前者大于后者(即大于0),跳转到P执行JLN;若前者小于后者(即小于0),跳转到N执行INCZERO;若没有跳转到P或N,则该数值为0,Z

4、ERO加1JMPCONTINUE;跳转到CONTINUE执行P:INCPOSITIVE;POSITIVE中的值加1JMPCONTINUE;跳转到CONTINUE执行N:INCNEGATIVE;NEGATIVE中的值加1CONTINUE:MOVAL,[SI]CBW;AL的内容扩展到AH形成AX中的字;即扩展成16位数字再进行累加ADDAX,SUM;ADD的目的操作数只能是累加器MOVSUM,AXINCSI;SI中的值加1LOOPNEXT;CX的值减一,若不为0,跳转;以上为补充代码RETSTARTENDPCODEENDS

5、ENDSTART四、探究内容1)若需要将程序得到的结果显示在屏幕上,如何处理?答:调用中断完成输出(以下程序可加在LOOPNEXT语句之后,输出positive、negative、zero的值【sum的值不知道咋输出QAQ】):MOVSI,OFFSETPOSITIVEMOVCL,03HMOVCH,0PRINT:MOVAL,[SI]CMPAL,9JLEL0ADDAL,7L0:ADDAL,30HMOVDL,ALMOVAH,02HINT21HMOVDL,10HMOVAH,02H123456INT21HINCSILOOPPRI

6、NT2)利用某种排序算法,对原始数据进行排序。答:冒泡排序算法插入到“冒泡排序算法插入位置”:SORT:;开始排序MOVCX,L_NUMDECCXL1:PUSHCXLEABX,NUML2:MOVAL,[BX]CMPAL,[BX+1]JBNEXTXCHGAL,[BX+1]MOV[BX],ALNEXT:INCBXLOOPL2;内循环POPCXLOOPL1;外循环五、实验的运行数据及分析1.实验数据记录图1emu8086软件运行界面截图1123456图2emu8086软件运行界面截图2图3emu8086运行结果截图DS:00

7、001288828933900010DS:0008BD0104050136FE00图4运行结果数据整理表格2.数据分析:0009开始的数据段地址中按次序分别存放的是Positive的值(正数个数的统计值),Negative的值(负数个数的统计值),Zero的值(数值为0的个数的统计值),SUM的值(所有无符号数的和,即不区分正负,仅仅二进制相加)。实际运行结果与理论分析相同。六、实验讨论及心得体会通过本次实验,我更加熟练了emu8086软件的使用。通过补充代码的练习,我也更加清楚了条件转移指令的使用方式和使用条件。JA

8、、JB、JG、JL等条件转移指令(部分所列指123456令实验中未用到)虽然在课堂上有所接触,但没有实际的练习使用,很容易就会遗忘。学习之初,我经常对JZ的判断条件产生困惑:到底是当零标志位等于1还是等于零的时候进行跳转呢?经过书面作业的练习和思考,我对JZ语句的理解是:JUDGEZERO,而当零标志位等于1的时候表示对应存储单元

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。