计算机硬件实验报告

计算机硬件实验报告

ID:1187776

大小:459.50 KB

页数:5页

时间:2017-11-08

计算机硬件实验报告_第1页
计算机硬件实验报告_第2页
计算机硬件实验报告_第3页
计算机硬件实验报告_第4页
计算机硬件实验报告_第5页
资源描述:

《计算机硬件实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、东北大学计算机硬件技术基础实验报告专业班级:成型1001姓名:***学号:2010****实验题目:循环程序设计日期:2012年10月29日一、实验目的(1)加深对循环结构的理解;(2)掌握循环程序的设计方法;(3)熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。二、实验内容统计以BUF为首地址开始的字节数据块中的正数的个数,将统计结果存放至RLT单元。三、算法描述流程图四、实验步骤1.输入源程序:DATASEGMENTBUFDB23,123,-12,-21,45,0,90,-45RLTDB0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART

2、:MOVAX,DATAMOVDS,AXLEASI,BUFMOVCX,8NEXT:MOVAL,[SI]CMPAL,0JLENEXT1INCRLTNEXT1:INCSIXORAL,ALLOOPNEXTMOVAH,4CHINT21HCODEENDSENDSTART2.保存源文件,执行masm汇编源程序,生成obj目标文件,结果无错误。3.执行link连接程序,生成exe可执行文件,结果无错误。4.执行debug调试程序,使用t参数单步执行程序,在寄存器中得到计算结果,执行d参数命令察看BUF,RLT所在的地址单元中的数据。五、实验结果程序运行结果,如下图:执行masm汇编获得obj文件,为3.o

3、bj,如下图:执行link连接程序,获得exe文件,为3.exe,如下图:执行debug,执行t命令到最后,如下图:在程序中,RLT地址为0008,所以执行-d0008命令查看RLT数据,如下图:以上数据可以看出,程序运行正确,在各变量内存地址中储存的数据为正确运行答案的16进制,同时,RLT表明BUF中大于0的正数有4个六、思考题本程序属于循环次数已知的程序,使用CX寄存器存放计数值,使用LOOP指令完成循环。但是在有些情况下,是不可以用LOOP指令的,比如循环中要用到移位指令时需要占用CL寄存器。我们仍可以两条指令完成相同的功能,请问是哪两条指令?答:可用于替换的两个指令为DEC和JN

4、Z。DEC用于递减寄存器的值,可以使用另外的寄存器记录循环次数,用DEC循环递减,用JNZ判断循环是否完成并实现循环跳转,如果为完成则跳转至循环头。这样就不用占用CL寄存器了。七、实验心得加深了对循环结构的理解,掌握debug的常用命令,和程序分步调试。对于编程中的细节需留意,细心。如刚开始遇到的不能生成OBJ文件,后调试发现因为忽略了在两个寄存器之间不能直接交换数据的问题。

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

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

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